1.基于python的单线程示例:
from time import ctime,sleep
import time
def play_video(video):
for i in range(2):
print ("I am playing video: %s at %s"%(video,ctime()))
sleep(5)
def play_music(music):
for i in range(2):
print ("I am playing music: %s at %s"%(music,ctime()))
sleep(5)
time_start =time.time()
if __name__=="__main__":
play_video("speed_and_crazy")
play_music("chengdu")
print ("all are over at %s"%ctime())
time_end = time.time()
result = time_end - time_start
print("This program needs %f s" % result)
2.基于python的多线程示例:
from time import ctime,sleep
import threading
import time
def play_video(video):
for i in range(2):
print ("I am playing video: %s at %s \n"%(video,ctime()))
sleep(5)
def play_music(music):
for i in range(2):
print ("I am playing music: %s at %s \n"%(music,ctime()))
sleep(5)
threads=[]
thread1=threading.Thread(target=play_video,args=("speed_and_crazy",))
threads.append(thread1)
thread2=threading.Thread(target=play_music,args=("chengdu",))
threads.append(thread2)
time_start =time.time()
if __name__=="__main__":
for thread in threads:
thread.setDaemon(True)
thread.start()
thread.join() #加在循环外,
print ("all are over at %s \n"%ctime())
time_end = time.time()
result = time_end - time_start
print("This program needs %f s"%result)
3.小结:多线程代码实现较单线程在时间效率上要快得多。但是,据说线程过多也会出现问题,因此,还需继续探索。
待更新。。。