当前位置: 首页 > 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://www.yayakq.cn/news/430677/

相关文章:

  • 企业邮箱申请搜索自定义关键词优化
  • 莱西网站建设哪家好郑州的团购网站建设
  • 网站左下角命名怎么做上海企业信息登记号查询
  • wordpress主题后台设置seo关键词优化软件合作
  • 漯河网站推广公司php做网站需要注意什么
  • 淘宝客网站源码和模版有什么区别企业网站源码asp
  • 吉林网站优化免费自助建站网站一览自助建网站
  • 网络推广的网站展会展厅设计制作公司
  • dw 个人网站怎么做可以做免费推广的网站
  • 辽宁网站建设平台6入空间网站免费观看
  • 网站如何优化流程宿迁华夏建设集团网站
  • 做自己的网站花多钱南通云网站建设
  • 东莞网站建设-搜盟网试论述网上商城的推广技巧
  • 邯郸去哪做网站改版网业小游戏
  • 官方网站制作思路个人可以建论坛网站吗
  • 湛江网站建设详细策划网站建设中 敬请期待...
  • 注册网站查询官网网络公司源码
  • 单位网站 单位网页 区别中关村在线官方网站
  • 做视频网站违法网站建设的话术
  • 有什么做网站优化公司做h5好的网站
  • 挖矿网站怎么做免费源码分享网站
  • 济宁做网站建设的公司英文网站建设图片
  • 网站建设培训网站天津建设银行网站首页
  • 网站手机客户端在线制作金华市建设监理协会网站
  • 有哪些网站可以免费做外销怎么开网站
  • 辽宁网站建站系统哪家好京东商城网页版
  • 网站建设服务费的摊销期限浙江省嘉兴市建设局网站
  • 南宁网站定制开发摄影网站建设论文
  • 网站开发需求分析用的图网站建设项目实战实训报告
  • 网站建设公司网络服务包装设计接单网站