范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

python并发编程线程(threading模块)

  一 threading模块介绍
  multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍, 相关知识点可以看这里
  二 开启线程的两种方式#方式一 from threading import Thread import time def sayhi(name):     time.sleep(2)     print("%s say hello" %name)  if __name__ == "__main__":     t=Thread(target=sayhi,args=("tiga",))     t.start()     print("主线程") #方式二 from threading import Thread import time class Sayhi(Thread):     def __init__(self,name):         super().__init__()         self.name=name     def run(self):         time.sleep(2)         print("%s say hello" % self.name)   if __name__ == "__main__":     t = Sayhi("tiga")     t.start()     print("主线程")在一个进程下开启多个线程与在一个进程下开启多个子进程的区别
  1.谁的开启速度快 from threading import Thread from multiprocessing import Process import os  def work():     print("hello")  if __name__ == "__main__":     #在主进程下开启线程     t=Thread(target=work)     t.start()     print("主线程/主进程")     """     打印结果:     hello     主线程/主进程     """      #在主进程下开启子进程     t=Process(target=work)     t.start()     print("主线程/主进程")     """     打印结果:     主线程/主进程     hello     """
  2.瞅一瞅pid from threading import Thread from multiprocessing import Process import os   def work():     print("hello", os.getpid())   if __name__ == "__main__":     # part1:在主进程下开启多个线程,每个线程都跟主进程的pid一样     t1 = Thread(target=work)     t2 = Thread(target=work)     t1.start()     t2.start()     print("主线程/主进程pid", os.getpid())      # part2:开多个进程,每个进程都有不同的pid     p1 = Process(target=work)     p2 = Process(target=work)     p1.start()     p2.start()     print("主线程/主进程pid", os.getpid())  """ hello 26316 hello 26316 主线程/主进程pid 26316 主线程/主进程pid 26316 hello 26318 hello 26319 """
  3.同一进程内的线程共享该进程的数据? from  threading import Thread from multiprocessing import Process import os def work():     global n     n=0  if __name__ == "__main__":     # n=100     # p=Process(target=work)     # p.start()     # p.join()     # print("主",n) #毫无疑问子进程p已经将自己的全局的n改成了0,但改的仅仅是它自己的,查看父进程的n仍然为100       n=1     t=Thread(target=work)     t.start()     t.join()     print("主",n) #查看结果为0,因为同一进程内的线程之间共享进程内的数据线程相关的其他方法Thread实例对象的方法   # isAlive(): 返回线程是否活动的。   # getName(): 返回线程名。   # setName(): 设置线程名。  threading模块提供的一些方法:   # threading.currentThread(): 返回当前的线程变量。   # threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。   # threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。from threading import Thread import threading from multiprocessing import Process import os  def work():     import time     time.sleep(3)     print(threading.current_thread().getName())   if __name__ == "__main__":     #在主进程下开启线程     t=Thread(target=work)     t.start()      print(threading.current_thread().getName())     print(threading.current_thread()) #主线程     print(threading.enumerate()) #连同主线程在内有两个运行的线程     print(threading.active_count())     print("主线程/主进程")      """     打印结果:     MainThread     <_MainThread(MainThread, started 140735268892672)>     [<_MainThread(MainThread, started 140735268892672)>, ]     主线程/主进程     Thread-1     """
  主线程等待子线程结束 from threading import Thread import time def sayhi(name):     time.sleep(2)     print("%s say hello" %name)  if __name__ == "__main__":     t=Thread(target=sayhi,args=("egon",))     t.start()     t.join()     print("主线程")     print(t.is_alive())     """     egon say hello     主线程     False     """

逛超市若是遇到这5样物品,建议买回家,能让家务活少一半很多人都喜欢逛超市,并不是需要买什么,而是享受这个过程。当然看到什么好的小物品,总是喜欢买回家!目的是减少家务活,让我们的生活变得更轻松。所以呢建议大家,供超市若遇到这五件物品,建一半人把洗衣机排水管插地漏,错啦!瞧聪明人的做法,简单省空间自古以来,中国人对于卫生间的要求非常高,装饰得也非常的细致,尤其是中国的卫生间,从古代发展到现在,已经丰富多样。最普遍的就是洗衣机排水口问题,洗衣机会有专门的下水通道,但是夏天来临大多数人卫生间拖把没地方放,学学这样弄,干净整洁自古以来,中国人对于卫生间有着非常讲究的追求,装饰得也非常的细致,尤其是中国的卫具,从古代发展到现在,已经非常的丰富多样。下面小编来帮大家搜罗一些实用的卫生间好物,个个小巧又耐用。钓鱼技巧,换个方法挂蚯蚓,马上爆满蚯蚓,是我们垂钓人用得最多的饵料之一,我们好多时候都是直接用,蚯蚓被我们说成万能饵,可是有时候,万能饵也不灵。比如去的一个地方,别人都是用商品饵,你用的蚯蚓,结果不上钩。你可能会说注意!双十一开始对你家里的老年人下手了一直以来,年轻人始终占据着消费的C位。无论是线上还是线下,传统还是新品牌,各大商家纷纷加入年轻人争夺战,Z世代成为市场上的香饽饽。与之相对应的,是数量庞大却被列为非优质用户的老年群CRC2019顺利召开多方献策致力彩电重归家庭智能C位2019年7月18日,中国智能显示与创新应用产业大会暨CRC2019年上半度彩电行业研究发布会在京举行。本次CRC第52届大会对2019年上半年中国电视行业进行盘点总结和展望,会议日本车底盘技术真不如欧洲?丰田日产表示你被骗了很多年前不久和泰哥讨论一个问题都说欧洲车底盘紧实,日本车相对松散。所以一直一来民间有个说法欧洲车底盘好于日本车。而我们发现大多数喜欢驾驶的朋友都更偏爱紧绷的底盘风格。甚至这一偏好被带入到开放世界RPG王者荣耀世界公布实机画面,即将发布在昨天也就是10月30日王者荣耀六周年庆典举办的2021共创之夜中发布了很多后续的更新和活动信息,包括王者荣耀和86版西游记之间的联动会继续推出,以及王者荣耀的舞台音乐剧也正式提上修车竟然不用原厂件?副厂件究竟有多烂?便宜但能用么?如果您的车坏了,在维修过程中,无意间发现,修车企业给您使用的部件,竟然不是原厂件您作何感想?没错!也许您第一时间的反应就是我遇到了副厂件!那么这副厂件究竟比原厂件差多少?使用副厂件义乌新出新式柴火灶,土灶台不兴了,干净方便可移动,高级在农村待过的朋友都知道,小时候我们用来做饭的灶台全是请泥工来建造的。建造的时间需要3到5天。随着社会的发展,这种灶台已经被淘汰了。但是如果你还想吃到那样的柴火饭怎么办?小编告诉你,一见钟情的3个厨房用品,买时心疼,用起来真香!建议备齐厨房作为家里的核心区,每天看到干净整洁的厨房,对于我们来说,可以提升幸福感!那么想要保持厨房干净,除了需要我们自己勤快一些,还需要搭配一些好用的厨房用品,这样可以更干净!一见钟情的
全能清华华智冰,多才多艺,震惊全场随着人工智能的快速发展,越来越多的人将目光聚焦到AI技术,让AI代替人类做尽可能多的工作,也越来越成为现实。清华大学AI虚拟学生清华华智冰有着高情商高智商,能绘画,能提诗,还能创作复旦台大EMBA田卫东ampampamp葛均结缘两岸第一班,构筑企业新发展2010年,来自大陆的田卫东和来自台湾的葛均共同出现在课堂上,跨越海峡的复旦台大EMBA项目让两位董事长成了同学。那一年是该项目第一届招生,在教育界和工商管理界享有海峡两岸第一班的小米有品帮直男偷懒!解决装修家庭80难题,工具箱没它不行最近新家刚刚装修,需要准备选购一些家具。不过一个难题来了,这些家具需要搭配的话,通常需要量好尺寸,但是工程量太大了。你懂那种痛苦吗?传统的尺子非常不方便,一头很难按住,一个人很难测3599元,米家首款新风空调来了,新风功能特别强大小米生生不息春季发布会上,发布的一众智能设备里,空调的关注度非常高,因为这是米家的首款新风空调,关键在于价格定的确实低,3599基本和1。5匹米家高配版空调差不多。既然是首款带有新MIUI12。5体验报告,新鲜丝滑对机型要求较高MIUI12。5虽说只是MIUI12的半代升级版,但它对体验的提升却是有史以来最大的,无论声效动画震动都得到了升级,不夸张的说,升级MIUI12。5后,我感觉换了一款新手机,那么下小米环保与iPhone环保有何不同,为何小米不被骂今年的小米也开始响应环保,走起了手机不带充电头的路线,而且小米11的包装内仅有卡针清水套说明说,连数据线都没有,即便如此,发布会结束后网友的反响也是非常好的,与之前的iPhone13999起,小米11加量不加价,这三大升级等于白送小米11定价3999想必发布会前大家已经知道,不过惊喜还是有的,此外小米11包装内去掉充电头,带来的解决方案是,推出两个版本,环保版和附送充电器的套装版,两个版本都是3999,把环苹果iPhoneSE2升级iOS14。7。1后发热量大自己用的se2一直比较稳定,小巧方便,满足日常使用。今天设置显示小红点,提示升级,顺手点了升级,升级文件不大,很快就完成了。结果悲剧了捂脸升级开机后就感觉有点烫手,刷头条几分钟就拿9999元起,小米MIXFold发布,最便宜的折叠屏手机大家一直心心念念的小米MIX回来了,是一款折叠屏手机,售价9999元起,相比目前华为三星折叠屏新机价格便宜小一半,那产品表现如何呢?首先看外观,MIXFold外屏是一块90HzAM小米11ProampampampUltra全配色图赏,Pro黑色质感意外的好小米11Ultra黑陶观感与之前陶瓷手机类似,亮光下呈灰黑色,暗光下纯黑,优势一体性较强。小米11Ultra白陶瓷个人推荐,这个配色实机上手效果非常好,白得非常纯,优势是不显指纹,小米有品现价格屠夫,499赢了万元倍轻松,拼多多都不敢这么卖小米这个品牌从成立至今就一直在坚持一个理念,那就是追求极致性价比,无论是从手机行业还是到智能家居领域,每次都会给米粉们带来惊喜,没有一个不是科技感爆棚。相信经常关注小米的人就会发现