<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0
    python線程HelloWorld

    改變num的值可以控制線程的數量
    弄它幾千個不是問題
    呵呵
    每個線程啟動后會隨機睡眠1-3秒
    醒來后結束

    [code]
    #!/usr/bin/env python
    import threading
    import time
    import random

    class PrintThread(threading.Thread):
        def __init__(self, threadName):
            threading.Thread.__init__(self, name = threadName)
            self.sleepTime = random.randint(1,3)
            print "Name: %s; sleep: %d" % (self.getName(), self.sleepTime)

        def run(self):
            print "%s going to sleep for %s second(s)"\
                  % (self.getName(), self.sleepTime)
            time.sleep(self.sleepTime)
            print self.getName(), 'done sleeping'

    num=10
    threadList=[]
    for i in range(1,num+1):
        thread = PrintThread('thread'+str(i))
        threadList.append(thread)

    print '\nStarting threads'

    for i in threadList:
        i.start()

    print 'All threads started\n'

    for i in threadList:
        i.join()

    print 'All threads stoped\n'
    [/code]

    線程同步可以用鎖
    現在讓我們一起回到遙遠的DOS時代
    還是上面的程序
    但是每一時刻只有一個線程可以工作
    只是增加了三行代碼而已

    [code]
    #!/usr/bin/env python
    import threading
    import time
    import random

    class PrintThread(threading.Thread):
        def __init__(self, threadName):
            threading.Thread.__init__(self, name = threadName)
            self.sleepTime = random.randint(1,3)
            print "Name: %s; sleep: %d" % (self.getName(), self.sleepTime)

        def run(self):
            lock.acquire()        #add this
            print "%s going to sleep for %s second(s)"\
                  % (self.getName(), self.sleepTime)
            time.sleep(self.sleepTime)
            print self.getName(), 'done sleeping'
            lock.release()        #add this

    num=10
    threadList=[]
    lock=threading.RLock()        #add this
    for i in range(1,num+1):
        thread = PrintThread('thread'+str(i))
        threadList.append(thread)

    print '\nStarting threads'

    for i in threadList:
        i.start()

    print 'All threads started\n'

    for i in threadList:
        i.join()

    print 'All threads stoped\n'
    [/code]
    posted on 2007-09-25 13:50 周銳 閱讀(421) 評論(0)  編輯  收藏 所屬分類: Python
    主站蜘蛛池模板: 亚洲Av永久无码精品一区二区| 久久精品国产亚洲AV蜜臀色欲| 免费精品视频在线| 免费中文字幕一级毛片| 亚洲人成网站看在线播放| 24小时日本韩国高清免费| 亚洲国产成人资源在线软件| 4hu四虎最新免费地址| 亚洲国产乱码最新视频 | 中文字幕看片在线a免费| 国产精品亚洲高清一区二区| rh男男车车的车车免费网站| 亚洲日韩av无码| 少妇太爽了在线观看免费视频 | wwwxxx亚洲| 最近中文字幕mv手机免费高清| 亚洲av永久无码精品网址| 免费国产美女爽到喷出水来视频| 丰满少妇作爱视频免费观看| 亚洲尤码不卡AV麻豆| 免费观看成人久久网免费观看| 亚洲日韩中文字幕天堂不卡| 97人伦色伦成人免费视频| 粉色视频成年免费人15次| 亚洲精品午夜国产VA久久成人| 色欲A∨无码蜜臀AV免费播| 亚洲国产高清在线精品一区| 免费无码一区二区三区蜜桃大| 色多多A级毛片免费看| 在线观看亚洲一区二区| 日本一区二区三区日本免费| 国产免费人成视频尤勿视频| 亚洲白色白色永久观看| 国产免费观看黄AV片 | 亚洲熟妇AV日韩熟妇在线| 亚洲乱码中文字幕综合234| 亚洲精品免费在线| 精品国产亚洲AV麻豆 | 久久久久久a亚洲欧洲AV| 日韩免费观看的一级毛片| 最新久久免费视频|