線程(二):在first的基礎上對代碼作修改,使得代碼冗餘更少,更靈活

# -*- coding:utf-8 -*-

#以下代碼都是以上一篇爲基礎做整理的,使得代碼更爲簡潔,減少冗餘
#在IDLE編輯器下運行

# 改進第一版
#-------------------------------------------------------------
# import time
# import thread
#
# def loop(nloop,nsec):
#      print("loop%s start at :"%nloop,time.ctime())
#      time.sleep(nsec)
#      print("loop%s stop at :"%nloop,time.ctime())
#
#
# def main():
#     print ('all start at :',time.ctime())
#     sleep_list = [4,2]
#     for i in range(2):
#         thread.start_new_thread(loop,(i,sleep_list[i]))
#     time.sleep(5)
#     print ('all stop at :',time.ctime())
#
# if __name__ =="__main__":
#     main()

#繼續在這之上改進,使得程序更加靈活,第二版
#-------------------------------------------------------------
import time
import thread

def loop(nloop,nsec):
     print("loop%s start at :"%nloop,time.ctime())
     time.sleep(nsec)
     print("loop%s stop at :"%nloop,time.ctime())


def main():
    print ('all start at :',time.ctime())
    sleep_list = [4,2,2,3,1,2]
    for i in range(len(sleep_list)):
        thread.start_new_thread(loop,(i,sleep_list[i]))
    time.sleep(max(sleep_list)+1)
    print ('all stop at :',time.ctime())

if __name__ =="__main__":
    main()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章