这块相比较nodejs应该更容易理解一些,后面有时间会进行对比分析下。
- threading
- start()
- join()
- threading.active_count() 激活线程数量
- threading.enumerate() 线程详情
- threading.current_thread() 当前线程
python创建多线程方法也很简单
import threading
import time
def work_first():
print('start first');
for x in range(10):
time.sleep(0.2);
print('stop first');
def main():
first = threading.Thread(target=work_first); #创建一个现成
first.start() #执行该线程
print('main progress')
if __name__ == '__main__':
main()
看下执行结果
如果顺序执行的话需要使用join()方法
first.start()
first.join()
print('main progress')
执行结果
多个线程类似:
import threading
import time
def work_first():
print('start first');
for x in range(10):
time.sleep(0.2);
print('stop first');
def work_second():
print('start second');
for x in range(10):
time.sleep(0.1);
print('stop second');
def main():
first = threading.Thread(target=work_first);
second = threading.Thread(target=work_second);
first.start()
first.join()
second.start()
second.join()
print('main progress')
if __name__ == '__main__':
main()
执行结果