python threading 两种创建方式

作用:建立在thread模块之上,可以更容易地管理多个执行线程。

通过使用线程,程序可以在同一个进程空间并发地运行多个操作。threading模块建立在thread的底层特性基础上,可以更容易地完成线程处理。

 

1、调用函数

要使用Thread,最简单的方法就是用一个目标函数实例化一个Thread对象,并调用start()让它开始工作。

 1 import threading
 2 
 3 def worker(num):
 4     print 'worker'
 5     return
 6 
 7 threads = []
 8 for i in range(5):
 9     t = threading.Thread(target=worker, args=(i,))
10     threads.append(t)
11     t.start

 

2、派生进程

开始时,Thread要完成一些基本初始化,然后调用其run()方法,这会调用传递到构造函数的目标函数。要创建Thrad的一个子类,需要覆盖run()来完成所需的工作。

 1 import threading
 2 import logging
 3 
 4 logging.basicConfig(level=logging.DEBUG,
 5                     format='(%(threadName)-10s) %(message)s',
 6                    )
 7 
 8 class MyThread(threading.Thread):
 9 
10     def run(self):
11         logging.debug('running')
12         return
13 
14 for i in range(5):
15     t = MyThread()
16     t.start()

 

参考:

《python 标准库》 10.3.5 派生线程(p412)

posted @ 2012-08-23 16:43  congbo  阅读(4497)  评论(0编辑  收藏  举报