学习python多线程,参考了别人的博客,完成了以下简单的示例:
1.使用多线程“同时”去做两件事:
#coding=utf-8
import threading
from time import ctime,sleep
def music(func):
for i in range(2):
print("I was listening to %s. %s" %(func,ctime()))
sleep(1)
def movie(func):
for i in range(2):
print("I was at the %s! %s" %(func,ctime()))
sleep(5)
threads = []
t1 = threading.Thread(target=music,args=(u'爱情买卖',))
threads.append(t1)
t2 = threading.Thread(target=movie,args=(u'阿凡达',))
threads.append(t2)
if __name__ == '__main__':
for t in threads:
t.setDaemon(True)
t.start()
for t in threads:
t.join()
print("all over %s" %ctime()
2.
使用多线程分别去做同一件事:
#coding=utf-8
import threading
from time import ctime,sleep
import random
def music(func):
print(func)
t = random.randint(1, 10)
print(t)
for i in range(2):
print("I was listening to %s. %s" %(func,ctime()))
print(func)
sleep(t)
threads = []
t1 = threading.Thread(target=music,args=(u'爱情买卖',))
threads.append(t1)
t2 = threading.Thread(target=music,args=(u'告白气球',))
threads.append(t2)
if __name__ == '__main__':
for t in threads:
t.setDaemon(True)
t.start()
for t in threads:
t.join()
print("all over %s"%ctime())