python多线程有几种实现方法
python多线程有几种实现方法,都是什么?
目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用。2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这点,出现了multithreading 模块。threading模块里面主要是对一些线程的操作对象化,创建Thread的class。
一般来说,使用线程有两种模式:
A 创建线程要执行的函数,把这个函数传递进Thread对象里,让它来执行;
B 继承Thread类,创建一个新的class,将要执行的代码 写到run函数里面。
第一种 创建函数并且传入Thread 对象中
import threading,timefrom time import sleep, ctimedef now() :return str( time.strftime( '%Y-%m-%d %H:%M:%S' , time.localtime() ) )def test(nloop, nsec):print 'start loop', nloop, 'at:', now()sleep(nsec)print 'loop', nloop, 'done at:', now()def main():print 'starting at:',now()threadpool=[]for i in xrange(10):th = threading.Thread(target= test,args= (i,2))threadpool.append(th)for th in threadpool:th.start()for th in threadpool :threading.Thread.join( th )print 'all Done at:', now()if __name__ == '__main__':main()
第二种是创建一个新的class,将要执行的代码 写到run函数里面。
import threading ,timefrom time import sleep, ctimedef now() :return str( time.strftime( '%Y-%m-%d %H:%M:%S' , time.localtime() ) )class myThread (threading.Thread) :"""docstring for myThread"""def __init__(self, nloop, nsec) :super(myThread, self).__init__()self.nloop = nloopself.nsec = nsecdef run(self):print 'start loop', self.nloop, 'at:', ctime()sleep(self.nsec)print 'loop', self.nloop, 'done at:', ctime()def main():thpool=[]print 'starting at:',now()for i in xrange(10):thpool.append(myThread(i,2))for th in thpool:th.start()for th in thpool:th.join()print 'all Done at:', now()if __name__ == '__main__':main()
python多线程有几种实现方法相关推荐
- 多线程有几种实现方法?同步有几种实现方法?
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口 同步的实现方面有两种,分别是synchronized,wait与notify wait():使一个线程处于等待状态,并且释放所 ...
- 多线程有几种实现方法,同步有几种实现方法
多线程有几种实现方法,同步有几种实现方法 多线程有两种实现方法:继承 Thread 类或者实现 Runnable 接口. 一.继承 Thread 类 //1.作为Thread的子类,并重写run方法. ...
- 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么
java中多线程的实现方法有两种: 1. 直接继承thread类; 2.实现runnable接口;同百步的实现方法有五种: 1.同步方法; 2.同步代码块; 3.使用特殊域变量(volatile)实现 ...
- 多线程的两种实现方法
单线程:安全性高,效率低 多线程:安全性低,效率高 一. 多线程的第一种实现方式:创建一个继承Thread的类,实现run()方法,然后在另一个类中创建该类的对象,通过对象去调用多线程中的方法. 代码 ...
- 多线程有几种实现方法?同步有几种实现方法
多线程有几种实现方法?同步有几种实现方法 答:多线程的实现方法有继承Thread类,实现Runnable接口,实现Callable接口. 同步可以使用Synchronized关键字,也可以使用可重入锁 ...
- 多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
1.多线程有4种实现方法 继承Thread类,重写run方法 实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 通过Calla ...
- 面试题——多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
多线程有两种实现方法,一是继承Thread类,重写方法run(),二是实现Runnable接口,实现方法run(): 同步有两种实现方法,分别是synchronized.wait与notify.
- 多线程有几种实现方法都是什么?
多线程有两种实现方法,如下所示: 一:继承Thread类,重写方法run(): 二:实现Runnable接口,实现方法run():
- python多线程的几种方法
python多线程编程 Python多线程编程中常用方法: 1.join()方法:如果一个线程或者在函数执行的过程中调用另一个线程,并且希望待其完成操作后才能执行,那么在调用线程的时就可以使用被调线程 ...
最新文章
- 水平,垂直居中的15种方法
- Android架构篇-2 国际化多语言
- redis sentinel哨兵模式集群搭建教程
- harmonyos2.0开发者beta,华为鸿蒙 HarmonyOS 2.0 手机开发者 Beta 活动(广州站)报名开启...
- 使用SG_IO发送SCSI 指令测试底层驱动的scatter-gather 功能
- vue项目的一些需要注意到的细节
- Kafka架构设计:分布式发布订阅消息系统
- 如何在 C# 中使用 委托
- 将Infinispan版本映射为最低Java版本
- atitit.MIZIAN 陕北方言 特有词汇 大词典 attilax 整理 a--g v1 q31.xlsx
- AttributeError: module ‘torch.onnx‘ has no attribute ‘set_training‘
- 阿里彭蕾:CEO如何对抗孤独感?
- 【ML小结13】最大熵模型
- js使用百度离线地图
- PLSQL Developer 没有64位版本 + 找不到 msvcr71.dll
- nextjs的发布,pm2发布nextjs项目
- Bitmap图片去除白色背景
- 转:深度学习斯坦福cs231n 课程笔记
- 计算机操作系统之进程
- 数据库的升序降序排列
热门文章
- Python批量造数并利用pymysql写入到数据库之multiprocessing多进程、threading多线程实现方式(学习笔记)
- aspnet是前端还是后端_asp.net是什么 aspnet是前端还是后端
- s905各种型号的区别_液压油型号有何区别?液压油32号和46号区别?
- 水果店生意好做吗,怎样开水果店生意火爆
- 阿里邮件推送服务发送邮件
- iOS中对图片拉伸的四种方式
- 2021-10-03 rk3399 nmhopenwrt
- 【19调剂】中国农业大学信电学院计算机调剂信息
- 【Laravel笔记】11. Debugbar 调试器
- Linux简单介绍及常用命令