版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
注意看代码注释,注意看运行结果
一. 开启线程
import threading
import time
def thread_job():
print('T1 start','\n')
for i in range(10):
print(i)
time.sleep(0.2)
print('T1 finish\n')
def main():
add_thread = threading.Thread(target=thread_job) # 添加一个线程,目标是做一个job
add_thread.start() # 开始运行添加的线程
if __name__ == '__main__':
main()
二. 查看线程数量,查看当前线程
import threading
import time
def thread_job():
print('T1 start','\n')
for i in range(10):
print(i)
time.sleep(0.2)
print('T1 finish\n')
def main():
add_thread = threading.Thread(target=thread_job) # 添加一个线程,目标是做一个job
add_thread.start() # 开始运行添加的线程
print(threading.active_count()) # 输出线程的数量
print(threading.enumerate())
print(threading.current_thread()) # 输出当前正在运行的线程
if __name__ == '__main__':
main()
三. join方法
import threading
import time
def thread_job():
print('T1 start','\n')
for i in range(10):
print(i)
time.sleep(0.2)
print('T1 finish\n')
def thread_job_2():
print('T2 start\n')
print('T2 finish\n')
def main():
add_thread = threading.Thread(target=thread_job) # 添加一个线程,目标是做一个job
add_thread_2 = threading.Thread(target=thread_job_2)
add_thread.start() # 开始运行添加的线程
add_thread_2.start()
add_thread_2.join() # 代表必须等线程运行完了,才会去运行下面的内容
add_thread.join()
print('all_thread done')
# print(threading.active_count()) # 输出线程的数量
# print(threading.enumerate()) # 输出有哪些线程在运行
# print(threading.current_thread()) # 输出当前正在运行的线程
if __name__ == '__main__':
main()
预期:all_thread done最后输出