<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
    主站蜘蛛池模板: 男人和女人高潮免费网站| 久久亚洲中文无码咪咪爱| 黄在线观看www免费看| 九九久久国产精品免费热6| 亚洲小说图区综合在线| 亚洲日韩中文字幕日韩在线| 台湾一级毛片永久免费| 久久精品免费观看国产| 亚洲欧美日韩国产精品一区| 国产日韩成人亚洲丁香婷婷| 97在线视频免费播放| 亚洲AV网一区二区三区| 亚洲免费在线观看视频| 亚洲日本一区二区| 亚洲精品无码久久久影院相关影片| 日韩免费无码一区二区视频| 女人体1963午夜免费视频| 黄视频在线观看免费| 污污免费在线观看| 日韩亚洲翔田千里在线| 蜜桃传媒一区二区亚洲AV| 亚洲日韩中文字幕一区| 亚洲国产精品免费观看| 中文字幕亚洲情99在线| 亚洲欧美日韩久久精品| 亚洲AV日韩AV永久无码色欲| 亚洲av无码成人影院一区| 亚洲av成人中文无码专区| 国产精品亚洲AV三区| 久久无码av亚洲精品色午夜| 精品亚洲av无码一区二区柚蜜| 亚洲AV无码专区在线厂| 免费看一级一级人妻片| xxxxx做受大片在线观看免费| 美女被暴羞羞免费视频| 乱淫片免费影院观看| aa在线免费观看| 国产成人免费视频| jjizz全部免费看片| 久久国产精品免费观看| 一级毛片在线免费看|