单线程&多线程

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.小结:多线程代码实现较单线程在时间效率上要快得多。但是,据说线程过多也会出现问题,因此,还需继续探索。

待更新。。。

猜你喜欢

转载自blog.csdn.net/william_hehe/article/details/81005441