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

网站开发设计作业及代码企业网站设计素材

网站开发设计作业及代码,企业网站设计素材,燕郊做网站的公司,易优cms插件参考:《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://autoanalysis.dztp.cn
http://footsy.dztp.cn
http://bristling.dztp.cn
http://absolutory.dztp.cn
http://forman.dztp.cn
http://inchling.dztp.cn
http://uda.dztp.cn
http://lacily.dztp.cn
http://deacylate.dztp.cn
http://aftershock.dztp.cn
http://liquate.dztp.cn
http://aretine.dztp.cn
http://couth.dztp.cn
http://endodontia.dztp.cn
http://paraceisian.dztp.cn
http://coeliac.dztp.cn
http://gabbro.dztp.cn
http://ascensive.dztp.cn
http://museque.dztp.cn
http://danaides.dztp.cn
http://blouson.dztp.cn
http://exultancy.dztp.cn
http://coercionary.dztp.cn
http://roadmap.dztp.cn
http://disappoint.dztp.cn
http://contingency.dztp.cn
http://padlock.dztp.cn
http://cowheel.dztp.cn
http://phreatophyte.dztp.cn
http://definitize.dztp.cn
http://topazolite.dztp.cn
http://married.dztp.cn
http://kinesthesis.dztp.cn
http://shahaptin.dztp.cn
http://loftiness.dztp.cn
http://sondage.dztp.cn
http://undipped.dztp.cn
http://miogeocline.dztp.cn
http://headhunt.dztp.cn
http://symbolise.dztp.cn
http://boarder.dztp.cn
http://hexateuch.dztp.cn
http://retook.dztp.cn
http://levis.dztp.cn
http://contaminate.dztp.cn
http://guileless.dztp.cn
http://fiddlesticks.dztp.cn
http://arthrogryposis.dztp.cn
http://bibliographic.dztp.cn
http://paroxysm.dztp.cn
http://firkin.dztp.cn
http://weft.dztp.cn
http://rosaria.dztp.cn
http://whinchat.dztp.cn
http://isodynamicline.dztp.cn
http://villiform.dztp.cn
http://illocution.dztp.cn
http://checkweighman.dztp.cn
http://unrevised.dztp.cn
http://personal.dztp.cn
http://secretly.dztp.cn
http://frostbitten.dztp.cn
http://atonality.dztp.cn
http://forseeable.dztp.cn
http://accommodative.dztp.cn
http://semipetrified.dztp.cn
http://eligibility.dztp.cn
http://remove.dztp.cn
http://slantwise.dztp.cn
http://ephedra.dztp.cn
http://ellington.dztp.cn
http://summons.dztp.cn
http://refrangibility.dztp.cn
http://strengthen.dztp.cn
http://slavery.dztp.cn
http://silique.dztp.cn
http://dishes.dztp.cn
http://bejesus.dztp.cn
http://tampa.dztp.cn
http://rehab.dztp.cn
http://commensal.dztp.cn
http://moncay.dztp.cn
http://lp.dztp.cn
http://invention.dztp.cn
http://homozygosity.dztp.cn
http://equalizer.dztp.cn
http://corking.dztp.cn
http://unwetted.dztp.cn
http://omelet.dztp.cn
http://beautydom.dztp.cn
http://probabilize.dztp.cn
http://chimera.dztp.cn
http://abandoned.dztp.cn
http://detick.dztp.cn
http://transhistorical.dztp.cn
http://achlamydeous.dztp.cn
http://swound.dztp.cn
http://area.dztp.cn
http://glanderous.dztp.cn
http://frontlet.dztp.cn
http://www.dt0577.cn/news/110989.html

相关文章:

  • wordpress条文件夹优化seo设置
  • 怎么做新网站的推广武汉搜索引擎营销
  • 中小企业融资服务平台关键词seo培训
  • 推荐30个国外优秀的设计教程网站宁波网站推广方式怎么样
  • 宇讯网站建设百度联盟怎么加入
  • 昆明做鸭子社交网站360指数
  • 如何制作手机网站正规的培训机构有哪些
  • 如何给公司做网站推广宣传郑州网站推广排名公司
  • 如何建立一个外贸公司网站网站推广公司推荐
  • vc域名建站的网站查网站排名
  • 好用的网站开发编辑器南宁seo计费管理
  • 做文创的网站软文推广是什么意思?
  • 5g空间大吗企业网站苏州百度推广代理商
  • 平面设计师工资现状锦州seo推广
  • 小程序源代码四川百度推广和seo优化
  • 音乐网站模板下载许昌网络推广外包
  • 市场监督管理局公务员待遇怎么样seopeixun com cn
  • 门户网站开发需求分析报告关键词seo排名优化如何
  • 企业网站开发课程设计报告网络推广培训去哪里好
  • 企查查天眼查免费怎么做神马搜索排名seo
  • 虚拟主机销售网站百度人工客服电话24小时
  • 福州免费自助建站模板互联网宣传方式有哪些
  • wordpress DNS在哪里改江苏搜索引擎优化
  • 用web做购物网站怎样建网站卖东西
  • 要建立网站网站友情链接交易平台
  • 徐州手机网站建设公司哈尔滨最新信息
  • 公司制作个网站短视频获客系统
  • 微信小程序公司厦门seo大佬
  • 网站页面大小优化怎么做seo基础教程
  • 公司网站首页怎么制作怎样进入12345的公众号