
将产品分解成一个部分的一种方法是分解产品的第一个组成部分,以便每个独立的作业都具有从一组特定的首字母开头的所有元素。例如:
import stringimport multiprocessing as mpimport itertoolsalphabet = string.ascii_letters+string.digits+"!@#$%^&*?,()-=+[]/;"num_parts = 4part_size = len(alphabet) // num_partsdef do_job(first_bits): for x in itertools.product(first_bits, alphabet, alphabet, alphabet): print(x)if __name__ == "__main__": pool = mp.Pool() results = [] for i in xrange(num_parts): if i == num_parts - 1: first_bit = alphabet[part_size * i :] else: first_bit = alphabet[part_size * i : part_size * (i+1)] results.append(pool.apply_async(do_job(first_bit))) pool.close() pool.join()
(显然,您仅
results在
do_job实际返回某些内容时才使用)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)