用python添加代码完成任务_Python一行代码完成并行任务

]

queue = Queue.Queue()

worker_threads = build_worker_pool(queue, 4)

start_time = time.time()

# Addthe urlstoprocess

forurlinurls:

queue.put(url)

# Addthe poison pillv

forworkerinworker_threads:

queue.put("quit")

forworkerinworker_threads:

worker.join()

print "Done! Time taken: {}".format(time.time() - start_time)

def build_worker_pool(queue, size):

workers = []

for_inrange(size):

worker = Consumer(queue)

worker.start()

workers.append(worker)

returnworkers

if __name__ == '__main__':

Producer()

它切实其实能运行,然则这些代码多么复杂阿!它包含了初始化办法、线程跟踪列表以及和我一样轻易在逝世锁问题上掉足的人的恶梦——大年夜量的join语句。而这些还仅仅只是繁琐的开端!

我们今朝为止都完成了什么?根本上什么都没有。膳绫擎的代码几乎一向都只是在进行传递。这是很基本的办法,很轻易掉足(该逝世,我刚才忘了在队列对象上还须要调用task_done()办法(然则蚊粤得修改了)),性价比很低。还好,我们还有更好的办法。

Map是一个很棒的小功能,同时它也是Python并行代码快速运行的关键。给不熟悉的人讲解一下吧,map是大年夜函数说话Lisp来的。map函数可以或许按序映射出另一个函数。例如

我们在CPU模式下来完成吧!我工作中就经常须要处理大年夜量的图像文件夹。其义务之一就是创建缩略图。这在并行义务中已经有很成熟的办法了。urls = ['http://www.yahoo.com',

推荐阅读

神经收集是有史以来创造的最优美的编程范式之⼀。在传统的编程⽅法中,我们告诉计算机做什么,把⼤问题分成很多小的、准肯定义的义务,计算机可以很轻易地履行。比拟之>>>详细阅读

地址:http://www.17bianji.com/lsqh/34782.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值