import time from threading import Thread def sleep_task(sleep_time): # 定义单线程函数,用于多线程中执行 print("sleep {} seconds start!".format(sleep_time)) time.sleep(sleep_time) print("sleep {} seconds end!".format(sleep_time)) if __name__ == "__main__": start_time = time.time() t1 = Thread(target=sleep_task, args=(2,)) # 创建线程对象,调用函数,并传入参数 t1.setDaemon(True) # 开启守护线程,当主线程结束后,强制退出所有线程。因为线程非阻塞,开启后,如果所有语句执行完毕就终止所有线程。 t1.start() # 线程开始(非阻塞)。开始线程后,会默认启动一个主线程。同时,会马上执行后面的语句。 # t1.join() # 阻塞,等待线程1完成后再执行后面的语句,与setDaemon分开使用 t2 = Thread(target=sleep_task, args=(3,)) # 创建第2个线程 t2.setDaemon(True) t2.start() # t2.join() time.sleep(1) end_time = time.time() print("last_time: {}".format(end_time-start_time))