def calculate_resources_similarity(out_file, in_dir, apk_pairs_file, scorerers, threads, timeout):
field_names = ["apk1", "apk2", "result"]
for sc in scorerers:
field_names.extend(["%s_%s" % (sc.get_name(), RES_TYPE_NAMES[k]) for k in RES_TYPE_NAMES.keys()])
in_queue = multiprocessing.JoinableQueue(IN_QUEUE_SIZE)
out_queue = multiprocessing.JoinableQueue(OUT_QUEUE_SIZE)
queue_populator = QueuePopulatorThread(in_queue, in_dir, apk_pairs_file)
results_writer = FileWriterThread(out_queue, out_file, tuple(field_names))
processor = ScorererProcessorPool(in_queue=in_queue, out_queue=out_queue, samples_directory=in_dir, scorerers=scorerers, threads=threads, timeout=timeout)
queue_populator.start()
processor.start_processes()
results_writer.start()
in_queue.join()
queue_populator.join()
processor.stop_processes()
out_queue.join()
results_writer.stop_thread()
results_writer.join()
评论列表
文章目录