多线程

由于线程是操作系统直接支持的最小执行单元,所以一般的高级语言都内置线程的支持。Python标准库提供了_threadthreading两个模块,其中_thread是低级模块,threading是高级模块,大部分情况下只需要使用threading模块即可。

启动一个线程就是将一个函数传入并创建Thread实例,然后调用.start()开始执行。具体可参考以下示例。

import time, threading

def loop():
	print('thread %s is running' % threading.current_thread().name)
	n = 0
	while n < 5:
		n += 1
		print('thread %s >> %s' % (threading.current_thread().name, n))
		time.sleep(10)
	print('thread %s ended' % threading.current_thread().name)

print('thread %s is running' % threading.current_thread().name)
t = threading.Thread(target=loop, name='LoopThread')
t.start()
t.join()
print('thread %s ended' % threading.current_thread().name)