<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麻豆不片 | 午夜亚洲乱码伦小说区69堂| 中文字幕亚洲免费无线观看日本| 亚洲va国产va天堂va久久| 中出五十路免费视频| 亚洲高清专区日韩精品| 暖暖免费日本在线中文| 亚洲一区二区在线免费观看| 久久综合国产乱子伦精品免费| 精品亚洲aⅴ在线观看| 日本高清在线免费| 亚洲国产成a人v在线观看| 夭天干天天做天天免费看| 亚洲色欲色欲www在线播放| 国产男女猛烈无遮挡免费视频网站 | xvideos亚洲永久网址| 日韩毛片免费一二三| 国产成人A亚洲精V品无码 | 思思re热免费精品视频66| 在线观看亚洲AV每日更新无码| 国产精品免费视频一区| 一级毛片免费在线播放| 亚洲av无码潮喷在线观看| 国产黄色免费网站| 国产午夜亚洲精品不卡免下载| 久久精品国产亚洲7777| 91老湿机福利免费体验| 亚洲国产精品久久久久秋霞小 | 国产精品免费看香蕉| 人妻仑乱A级毛片免费看| 亚洲日本一区二区三区在线| 69视频在线观看免费| 处破女第一次亚洲18分钟| 亚洲人成人一区二区三区| 青娱乐免费视频在线观看| 免费一级毛片在线播放视频免费观看永久| 亚洲精品成人无限看| 日韩在线免费播放| 久草视频在线免费看| 亚洲av纯肉无码精品动漫| 亚洲AV日韩AV永久无码免下载|