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

 

posted @ 2018-09-06 22:35  Kay_xs  阅读(320)  评论(0编辑  收藏  举报