import threading线程进程
cpu在执行一个子线程的时候遇到sleep就会利用这段停顿时间去执行另一个子线程。
两个子线程谁先跳出sleep就执行谁。
import threading
import time
start = time.time()
def foo(n):
print("foo%s" % n) # 1执行
time.sleep(2) # 停2秒
print("foo执行结束") # 执行
def bar(n):
print("bar%s" % n) # 2 执行
time.sleep(1) # 停1秒
print("bar执行结束") # 3 执行
t1 = threading.Thread(target=foo, args=(1,)) # 子线程1
t2 = threading.Thread(target=bar, args=(2,)) # 子线程2
t1.start()
t2.start()
print("----------")
t1.join() # 加join方法
t2.join() # 加join方法
end = time.time()
print(end-start) # 两个子线程执行时间
#####运行结果#######
foo1
bar1
----------
bar执行结束
foo执行结束
2.014805555343628