<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
    主站蜘蛛池模板: 成人人免费夜夜视频观看| 亚洲w码欧洲s码免费| 亚洲国产成人精品女人久久久| 99久久婷婷国产综合亚洲| 成人免费在线看片| 亚洲国产成+人+综合| 无人在线观看免费高清视频| 亚洲国产成a人v在线| 黄网址在线永久免费观看 | 中国一级毛片免费看视频| 国产成人精品日本亚洲专区61| 国产A∨免费精品视频| 亚洲精品乱码久久久久久自慰 | 97av免费视频| 亚洲av无码久久忘忧草| 日韩免费观看视频| 性生大片视频免费观看一级| 亚洲综合熟女久久久30p| 久久精品国产这里是免费| 亚洲精品在线免费看| 女人18毛片a级毛片免费视频| 成人婷婷网色偷偷亚洲男人的天堂| 亚洲第一福利网站在线观看| 91免费福利视频| 亚洲网站免费观看| 国产高清免费观看| 免费在线黄色电影| 最新亚洲春色Av无码专区| 久久精品国产亚洲7777| 99精品视频在线观看免费播放| 国产精品高清视亚洲一区二区| www.亚洲色图| 久久99国产乱子伦精品免费| 亚洲国产精品18久久久久久| 国产偷国产偷亚洲清高动态图 | 麻豆91免费视频| 亚洲小视频在线观看| 日本一道本高清免费| 免费一级不卡毛片| 亚洲国产精品久久久久秋霞小 | 亚洲国产成人精品无码区在线观看|