当前位置: 首页 > news >正文

菏泽最好的网站建设公司专门做漫画的网站

菏泽最好的网站建设公司,专门做漫画的网站,网站开发的开发工具,徐州有哪些互联网公司在for循环中,接着开thread,开完就start,当时有个困惑,就是比如开的一个thread的这个start执行完,但是这个for循环还没执行完,那程序会跑到for循环的后面逻辑吗?比如下面13行for循环开始开第一个…

在for循环中,接着开thread,开完就start,当时有个困惑,就是比如开的一个thread的这个start执行完,但是这个for循环还没执行完,那程序会跑到for循环的后面逻辑吗?

比如下面13行for循环开始开第一个first_thread,并且first_thread也在start,然后这个start结束了,但是for循环还没结束 ,那么程序的逻辑会跑到19行吗?不会的,因为主进程还在for循环跑,线程跑完了,它应该就结束了,它不是主进程。所以会等着for循环执行完,才执行19行。从最后的执行结果就可以看出是等待for循环结束了才执行19行。

import time
from threading import Threaddef count(x, y):c = 0while c < 3:c += 1x += xy += yif __name__ == '__main__':counts = []for x in range(10):thread = Thread(target=count, args=(1, 1))time.sleep(3)print('one')counts.append(thread)thread.start()for thread in counts:print('two')thread.join()

另外join的方法:“This blocks the calling thread until the thread whose join() method is called terminates -- either normally or through an unhandled exception or until the optional timeout occurs.”,我们也看到,一旦线程执行完,其会自动终止,那么couts中记录的每个thread的变量是有一些属性,这些属性记录线程是否执行完,如下图:

所以我之前的困惑是,既然线程执行完,那么counts中记录的变量应该就失效了,对应的其变量调用join()方法应该也调用不了,这么理解其实是错误的。正确的是这些变量还有效,只不过其start()方法已经执行完了。

另外Pool.imap一旦定义了,这个方法会返回一个迭代器,不管这个迭代器有没有在后面使用,只有执行这句的下一句其imap已经开了进程在跑,其结果会写到内存中,需注意内存溢出。

from multiprocessing.pool import ThreadPool, Pooldef count(x):print('start---')return xif __name__ == '__main__':pool = Pool()ret_iter = pool.imap(count, [1])print('test')print('test---')for i in ret_iter:print(i)

从下图打的断点可以看出,其已经在开进程跑了,不过如果直接跑,不debug,那么可能打印顺序不对,因为开的进程跑的速度问题

参考:

  1. https://blog.csdn.net/qq_26460841/article/details/110420572

  1. https://blog.csdn.net/weixin_39765280/article/details/111629605?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-111629605-blog-110420572.pc_relevant_aa&spm=1001.2101.3001.4242.1&utm_relevant_index=3

http://www.15wanjia.com/news/160138.html

相关文章:

  • 网站调优企业外贸网络推广
  • 做同城网站还有机会吗软件开发多少钱一个月
  • 网站建设平台案例asp_asp.net_php哪种做网站最好?
  • 东莞营销网站建设服务网站改版需求
  • 山西做网站推广wordpress中文主
  • 网站做广告投放 做销售线索预估河北省建设局网站材料备案
  • 怎么做网站数据库nodejs 网站开发
  • 服装网站建设教程dedecms新网站 上传到万网的空间
  • jsp网站安全性电商网站的意义
  • 聚名网站手机版房屋3d效果图设计软件
  • 好三网网站桐乡建设规划局网站
  • 违禁网站用什么浏览器wordpress状态修改
  • 网站上的图片多大合适重庆企业网站设计维护
  • 一个网站的域名突然换了室内装潢设计师
  • 深圳定制网站做一个谷歌网站多少钱
  • 大连响应式网站制作昆山做网站找文博
  • 临沂免费模板建站济宁专业网站开发公司
  • 国际化网站设计wordpress多个站点
  • 绍兴柯桥哪里有做网站的为了 门户网站建设
  • 网站建设框架怎么做seo必备软件
  • 网站或站点的第一个网页怎么查询域名备案信息
  • 苏州网站建设优化过哦wordpress 标签页面
  • 网站设计简单讲解广州比较好的网站建设哪家好
  • 抖音代运营服务流程石家庄桥西招聘 网站优化
  • 如何做网站app万江区做网站
  • 东莞市建设质量监督站wordpress设置相册
  • 襄阳做网站排行榜全屏网站模板
  • 网站建设客户确认单wordpress生成网站模版
  • 如皋做网站的深圳公明网站制作
  • 一个虚拟主机如何建多个网站代码网站制作横幅图片素材