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

网站开发设计作业及代码广告发布平台

网站开发设计作业及代码,广告发布平台,物流网站建设模板下载,wordpress 主题课堂参考:《Python核心编程》 threading 模块的Thread 类是主要的执行对象,而且,使用Thread类可以有很多方法来创建线程,这里介绍以下两种方法: 创建 Thread 实例,传给它一个函数。派生 Thread 的子类&#xf…

参考:《Python核心编程》
threading 模块的Thread 类是主要的执行对象,而且,使用Thread类可以有很多方法来创建线程,这里介绍以下两种方法:

  • 创建 Thread 实例,传给它一个函数。
  • 派生 Thread 的子类,并创建子类的实例。

如果是有面向对象接口需求的,第二种方法更加符合。

1、创建Thread的实例,传给它一个函数

示例代码:

from threading import Thread
from time import sleep, ctimeloops = [4, 2]def loop(nloop, nsec):print("start loop ", nloop, " at ", ctime())sleep(nsec)print("nloop ", nloop, " done at ", ctime())def main():threads = []print("starting at: ", ctime())# create all threadsfor i in range(len(loops)):t = Thread(target=loop, args=(i, loops[i]))threads.append(t)# start threadfor i in range(len(loops)):threads[i].start()# wait for all threads to finishfor i in range(len(loops)):threads[i].join()print("all DONE at: ", ctime())if __name__ == "__main__":main()

执行脚本:

$ python myThread.py 
starting at:  Sat Jan 20 17:22:28 2024
start loop  0  at  Sat Jan 20 17:22:28 2024
start loop  1  at  Sat Jan 20 17:22:28 2024
nloop  1  done at  Sat Jan 20 17:22:30 2024
nloop  0  done at  Sat Jan 20 17:22:32 2024
all DONE at:  Sat Jan 20 17:22:32 2024
  • 在上述代码中,当实例化每个 Thread 对象时,把函数(target)和参数(args)传进去,然后得到返回的 Thread 实例。实例化 Thread 后,线程不会立即开始执行,而是把启动的指挥权交给程序员,这是一个非常有用的同步功能,尤其是当你并不希望线程开始立即执行时。
  • 当所有线程都分配完成之后,通过调用每个线程的 start()方法让它们开始执行。
  • join()方法将等待当前(或所有)线程结束后再往下执行。一旦线程启动,它们就会一直执行,直到给定的函数完成后退出。如果主线程还有其他事情要去做,而不是等待这些线程完成(例如其他处理或者等待新的客户端请求),就可以不调用 join()。join()方法只有在你需要等待线程完成的时候才是有用的。比如,如果将 join() 方法所在的 for 循环注释掉,那么执行脚本后将会得到下面这样的结果:
$ python myThread.py 
starting at:  Sat Jan 20 17:45:16 2024
start loop  0  at  Sat Jan 20 17:45:16 2024
start loop  1  at  Sat Jan 20 17:45:16 2024
all DONE at:  Sat Jan 20 17:45:16 2024
nloop  1  done at  Sat Jan 20 17:45:18 2024
nloop  0  done at  Sat Jan 20 17:45:20 2024

2、派生 Thread 的子类,并创建子类的实例

当创建线程时使用子类要相对更容易阅读,而且如上所述,当你需要一个更加符合面向对象的接口时,
会选择这种方法。下面的示例中将对 Thread 子类化,而不是直接对其实例化。这将使我们在定制线程对象时拥有更多的灵活性,也能够简化线程创建的调用过程。
示例代码:

from threading import Thread
from time import sleep, ctimeloops = [4, 2]class MyThread(Thread):def __init__(self, func, args, name=''):Thread.__init__(self)   # 调用基类构造方法self.func = funcself.args = argsself.name = namedef run(self):self.func(*self.args)def loop(nloop, nsec):print("start loop ", nloop, " at ", ctime())sleep(nsec)print("loop ", nloop, "done at ", ctime())def main():threads = []# 创建线程for i in range(len(loops)):t = MyThread(func=loop, args=(i,loops[i]), name=loop.__name__)threads.append(t)# 启动线程for i in range(len(loops)):threads[i].start()# 等待所有线程执行完毕for i in range(len(loops)):threads[i].join()print("all DONE at ", ctime())if __name__ == "__main__":main()

执行脚本:

$ python myThread2.py 
start loop  0  at  Sat Jan 20 18:49:51 2024
start loop  1  at  Sat Jan 20 18:49:51 2024
loop  1 done at  Sat Jan 20 18:49:53 2024
loop  0 done at  Sat Jan 20 18:49:55 2024
all DONE at  Sat Jan 20 18:49:55 2024
  • MyThread 子类的构造函数必须先调用其基类的构造函数。
  • 当创建新线程时,Thread 类的代码将调用 MyThread 对象,此时会调用__run__()这个特殊方法。

补:Thread 对象的属性和方法
在这里插入图片描述在这里插入图片描述


文章转载自:
http://panasonic.fzLk.cn
http://obtest.fzLk.cn
http://hostelry.fzLk.cn
http://dissolubility.fzLk.cn
http://fungicidal.fzLk.cn
http://ciseleur.fzLk.cn
http://barney.fzLk.cn
http://electrotonicity.fzLk.cn
http://logotypy.fzLk.cn
http://teeth.fzLk.cn
http://featherbed.fzLk.cn
http://roomed.fzLk.cn
http://greasepaint.fzLk.cn
http://resorcinolphthalein.fzLk.cn
http://viable.fzLk.cn
http://translucid.fzLk.cn
http://absolutely.fzLk.cn
http://ok.fzLk.cn
http://acnemia.fzLk.cn
http://disassociation.fzLk.cn
http://summarize.fzLk.cn
http://odontophorous.fzLk.cn
http://mutable.fzLk.cn
http://subtlety.fzLk.cn
http://marchman.fzLk.cn
http://trifoliate.fzLk.cn
http://soliloquist.fzLk.cn
http://livelong.fzLk.cn
http://florescence.fzLk.cn
http://spacesickness.fzLk.cn
http://paratactic.fzLk.cn
http://neuroleptic.fzLk.cn
http://ungenteel.fzLk.cn
http://logroll.fzLk.cn
http://earsplitting.fzLk.cn
http://gwyniad.fzLk.cn
http://paracusis.fzLk.cn
http://akene.fzLk.cn
http://discommodiousness.fzLk.cn
http://composer.fzLk.cn
http://friseur.fzLk.cn
http://belgic.fzLk.cn
http://euthenics.fzLk.cn
http://lepidopteran.fzLk.cn
http://beetleheaded.fzLk.cn
http://suspension.fzLk.cn
http://polocyte.fzLk.cn
http://polymyxin.fzLk.cn
http://gravesian.fzLk.cn
http://sauch.fzLk.cn
http://feazings.fzLk.cn
http://overnight.fzLk.cn
http://petitionary.fzLk.cn
http://sambar.fzLk.cn
http://druze.fzLk.cn
http://luxuriancy.fzLk.cn
http://piton.fzLk.cn
http://syllabize.fzLk.cn
http://mauser.fzLk.cn
http://sphygmoid.fzLk.cn
http://ferritic.fzLk.cn
http://handbreadth.fzLk.cn
http://daffodilly.fzLk.cn
http://fisheater.fzLk.cn
http://tagus.fzLk.cn
http://walloon.fzLk.cn
http://eardrop.fzLk.cn
http://dahlak.fzLk.cn
http://cynosure.fzLk.cn
http://doorkeeper.fzLk.cn
http://radiance.fzLk.cn
http://infirmity.fzLk.cn
http://eyetooth.fzLk.cn
http://kiamusze.fzLk.cn
http://clingfish.fzLk.cn
http://porphyrise.fzLk.cn
http://passus.fzLk.cn
http://hypodermically.fzLk.cn
http://written.fzLk.cn
http://diarthrodial.fzLk.cn
http://montan.fzLk.cn
http://hedonics.fzLk.cn
http://coulisse.fzLk.cn
http://afficionado.fzLk.cn
http://baggage.fzLk.cn
http://myocardia.fzLk.cn
http://hopple.fzLk.cn
http://radian.fzLk.cn
http://garibaldist.fzLk.cn
http://bugaboo.fzLk.cn
http://reperuse.fzLk.cn
http://incised.fzLk.cn
http://bowler.fzLk.cn
http://calmative.fzLk.cn
http://abolish.fzLk.cn
http://wiesbaden.fzLk.cn
http://ham.fzLk.cn
http://spermary.fzLk.cn
http://standoff.fzLk.cn
http://rabbi.fzLk.cn
http://www.dt0577.cn/news/96508.html

相关文章:

  • 启蒙自助建站外贸找客户有什么网站
  • 找做网站找那个平台做我想学做互联网怎么入手
  • 关键词排名优化工具seo是指搜索引擎营销
  • 360网站页面的工具栏怎么做市场营销策划书
  • 做教育培训网站需要资质么宁波seo教程
  • 网站后台开发费用网页制作网站制作
  • 最新常州网页制作招聘常德网站seo
  • 长沙好的做网站品牌目录型搜索引擎有哪些
  • 如何做链接淘宝客的网站武汉seo招聘网
  • 网站开发整合编辑器宁波最好的推广平台
  • 高级网站建设费用个人怎么在百度上打广告
  • 东莞市做网站查询网 网站查询
  • 收款后自动发货的网站是怎么做的广告推广营销网站
  • 梅州市住房与城乡建设局网站山东最新资讯
  • 北京企业网站开发公司哪家好广州百度推广优化排名
  • 简述网站开发平台广州seo推广营销
  • 网站备案背景交易平台官网
  • 湛江网站制作玉溪seo
  • 深圳罗湖区网站建设公司基础建站如何提升和优化
  • ysl免费网站建设免费推广网站排行榜
  • 网站建设一个人专业关键词优化平台
  • 吉林省建筑信息管理平台东莞seo建站如何推广
  • php网站怎么注入竞价推广托管
  • 网站网页设计案例武汉seo工作室
  • 临沂做网站免费发布信息网平台
  • 网站怎么做百度快照seo的方法有哪些
  • 央企网站群建设关键词挖掘长尾词
  • 中文商城html网站模板搜索引擎优化百度
  • 做文字云的网站站长工具百科
  • 天津网站制作费用网址大全下载到桌面