python threading超线程使用简单范例,pythonthreading,threading 模块
python threading超线程使用简单范例,pythonthreading,threading 模块
threading 模块提供的常用方法:
threading.currentThread(): 返回当前的线程变量。 threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。 threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。threading模块提供的类:
Thread, Lock;, Rlock;, Condition;, [Bounded]Semaphore, Event;, Timer;, local.;
Thread是线程类,与Java类似,有两种使用方法,直接传入要运行的方法或从Thread继承并覆盖run():
# encoding: UTF-8import threading# 方法1:将要执行的方法作为参数传给Thread的构造方法def func(): print 'func() passed to Thread't = threading.Thread(target=func)t.start()# 方法2:从Thread继承,并重写run()class MyThread(threading.Thread): def run(self): print 'MyThread extended from Thread't = MyThread()t.start()
构造方法:
Thread(group=None, target;=None, name=None, args=(), kwargs={})group: 线程组,目前还没有实现,库引用中提示必须是None; target: 要执行的方法; name: 线程名; args/kwargs: 要传入方法的参数。
实例方法:
isAlive(): 返回线程是否在运行。正在运行指启动后、终止前。 get/setName(name): 获取/设置线程名。 is/setDaemon(bool): 获取/设置是否守护线程。初始值从创建该线程的线程继承。当没有非守护线程仍在运行时,程序将终止。 start(): 启动线程。 join([timeout]): 阻塞当前上下文环境的线程,直到调用此方法的线程终止或到达指定的timeout(可选参数)。一个使用join()的例子:
# encoding: UTF-8import threadingimport timedef context(tJoin): print 'in threadContext.' tJoin.start() # 将阻塞tContext直到threadJoin终止。 tJoin.join() # tJoin终止后继续执行。 print 'out threadContext.'def join(): print 'in threadJoin.' time.sleep(1) print 'out threadJoin.'tJoin = threading.Thread(target=join)tContext = threading.Thread(target=context, args=(tJoin,))tContext.start()
运行结果:
in threadContext. in threadJoin. out threadJoin. out threadContext.
相关内容
- python中使用反射的方法,python反射方法,import sys,
- Evaluate the polynomial interpolant by Neville’s method in Python,
- Python字符串的encode与decode研究心得——解决乱码问题,
- python概率计算器代码,python概率计算器,from random
- python通过pil模块将raw图片转换成png图片,,rawData = op
- python生成全排列数,python生成排列数,#coding:utf-
- python实现简单的摩斯码翻译程序,python摩斯,CODE = {'A'
- python查询sqlite数据表代码,pythonsqlite,import sqlit
- python中各种常用类型的转换,python类型转换,int(x [,bas
- 用Python提取url链接中的域名与端口,python提取url链接
评论关闭