示例1:
#coding=utf-8
import threading
from time import sleep,ctime
def music(func):
for i in range(2):
print "I was listenning to %s.%s" %(func,ctime())
sleep(1)
def movie(func):
for i in range(2):
print "I was watching %s . %s" %(func,ctime())
sleep(1)
threads = [] #创建threads 数组
t1 = threading.Thread(target=music,args=(u'music',))
threads.append(t1) #将t1放到threads数组中
t2 = threading.Thread(target=movie,args=(u'TV',))
threads.append(t2)
if __name__=='__main__':
for t in threads:
t.setDaemon(True) #声明为守护线程,如果不设置则会被无限挂起
t.start()
t.join() #在子线程完成运行之前,这个子线程的父线程将一直被阻塞
print "all over %s " %ctime()
示例2:
#coding=utf-8
import threading
from time import sleep,ctime
def music(func):
for i in range(2):
print "I was listenning to %s.%s" %(func,ctime())
sleep(1)
def movie(func):
for i in range(2):
print "I was watching %s . %s" %(func,ctime())
sleep(1)
def player(name):
type=name.split('.')[1]
print type
if type == 'mp3':
music(name)
else:
if type == 'mp4':
movie(name)
else:
print 'error: The format is not recognized!'
#定义一个list
list = ['music.mp3','TV.mp4']
threads = [] #创建threads 数组
files = range(len(list)) #获取list的长度,随机
#创建线程
for i in files:
t = threading.Thread(target=player,args=(list[i],))
threads.append(t)
if __name__=='__main__':
#启动线程
for i in files:
threads[i].start()
for i in files:
threads[i].join()
print "all over %s " %ctime()