线程
创建线程
import threading import time import os def sing(num): for i in range(num): print('唱歌') time.sleep(1) def dance(num): for i in range(num): print('跳舞') time.sleep(1) if __name__ == '__main__': sing_thread = threading.Thread(target=sing, args=(3,)) dance_thread = threading.Thread(target=dance, kwargs={'num':2}) sing_thread.start() dance_thread.start()
结束线程
import time import threading def work(): for i in range(10): print("工作中。。") time.sleep(0.2) if __name__ == '__main__': '''设置守护主进程,当主进程退出时,子进程会自动结束''' '''方法1''' sub_thread = threading.Thread(target=work, daemon=True) sub_thread.start()
'''方法2''' sub_thread = threading.Thread(target=work, daemon=True) sub_thread.setDaemon(True) sub_thread.start() '''默认情况主进程会等待子进程执行结束后才结束''' time.sleep(1) print('主进程执行完成')
多线程执行是无序的
import threading def task(): # current_thread : 获取当前线程对象 thread = threading.current_thread() print(thread) if __name__ == '__main__': for i in range(5): sub_thread = threading.Thread(target=task) sub_thread.start() #多线程执行是无序的,由cpu调度决定

浙公网安备 33010602011771号