1. 普通多线程
import threading
import time
def doWaiting():
print(f"start waiting: {
time.strftime('%H:%M:%S')}")
time.sleep(3)
print(f"stop waiting: {
time.strftime('%H:%M:%S')}")
t = threading.Thread(target = doWaiting)
t.start()
time.sleep(1)
print("Start job")
print("End job")
2. 主线程等子线程:join()
import threading
import time
def doWaiting():
print(f"start waiting: {
time.strftime('%H:%M:%S')}")
time.sleep(3)
print(f"stop waiting: {
time.strftime('%H:%M:%S')}")
t = threading.Thread(target = doWaiting)
t.start()
time.sleep(1)
print("Start job")
t.join()
print("End job")
3. 主线程带走子线程:setDaemon()
import time
import threading
def sub_thread(num):
time.sleep(1)
print(f"thread {
num} is running")
print(f"main_thread starting..")
time.sleep(1