python 多线程
来源:互联网 发布:三菱数控系统编程 编辑:程序博客网 时间:2024/05/16 04:56
创建ThreadFunc类和创建Thread对象,来实现多线程。
创建新线程的时候,Thread对象会调用我们的TreadFunc对象,这是会用到一个特殊的函数__call__()
。由于有一个参数的元组,这时要在代码中使用apply()函数。
# -*- coding: utf-8 -*-"""Created on Tue Sep 08 15:04:14 2015@author: wt"""import threadingfrom time import sleep,ctimeloops = [4, 2]class ThreadFunc(object): def __init__(self, func, args,name=''): self.name = name self.func = func self.args = args def __call__(self): apply(self.func, self.args) def loop(nloop, nsec): print 'start loop',nloop,'at:', ctime() sleep(nsec) print 'loop', nloop, 'done at:', ctime() def main(): print 'starting at:',ctime() threads = [] nloops = range(len(loops)) for i in nloops: t = threading.thread(target=threadFunc(loop,(i,loop[i]), loop.__name__)) threads.append(t) for i in nloops: threads[i].start() for i in nloops: threads[i].join() print 'all DONE at:',ctime()if __name__ == '__main__': main()
运行结果:
starting at: Tue Sep 08 15:30:54 2015start loop 0 at: Tue Sep 08 15:30:54 2015start loop 1 at: Tue Sep 08 15:30:54 2015loop 1 done at: Tue Sep 08 15:30:56 2015loop 0 done at: Tue Sep 08 15:30:58 2015all DONE at: Tue Sep 08 15:30:58 2015
0 0
- Python多线程
- Python多线程
- Python多线程
- python多线程
- python 多线程
- python多线程
- python多线程
- python 多线程
- python多线程
- Python多线程
- Python 多线程
- python多线程
- python 多线程
- {python多线程}
- Python 多线程
- Python多线程
- python 多线程
- Python 多线程
- FMDB的详细使用方法
- Java工具类
- python基础(输入—字符串—list—tuple—循环)
- LeetCode || Maximal Rectangle
- poj 1637 最大流解混合图欧拉回路
- python 多线程
- oracle学习4
- How to Use OpenCV in Android Studio
- jsrender页面数据的展示
- ios的单元测试
- java 简单的TCP接收数据与发送数据
- android之--adb环境变量配置
- bat实现ftp上传
- sharedUserID的使用