多线程
由于线程是操作系统直接支持的最小执行单元,所以一般的高级语言都内置线程的支持。Python标准库提供了_thread
和threading
两个模块,其中_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)