【Python】多線程2

來源:互聯網
上載者:User

標籤:

threading模組

import timeimport randomimport threadingclass Inclass:    def __init__(self):        print ‘Inclass 初始化‘    def execIn(self,i):        rand = int(random.random() * 10)        print i,‘---%s--開始執行,暫停%d秒‘ % (time.ctime(),rand)        time.sleep(rand)        class Outclass:    def __init__(self):        print ‘OutClass初始化‘    def execOut(self):        InC = Inclass()        length = 1000        nloops = range(length)        threads = []        for i in range(length):            t = threading.Thread(target = InC.execIn, args = (i,))            threads.append(t)        for i in nloops:            threads[i].start()        for i in nloops:            threads[i].join()            OC = Outclass()OC.execOut()                    

版本2:

import timeimport randomimport threadingclass Inclass:    def __init__(self):        print ‘Inclass 初始化‘    def execIn(self,i):        rand = int(random.random() * 10)        print i,‘---%s--開始執行,暫停%d秒‘ % (time.ctime(),rand)        time.sleep(rand)        return i                        class MyThread(threading.Thread):    def __init__(self,func,args,name = ‘‘):        threading.Thread.__init__(self)        self.name = name        self.func = func        self.args = args    def getResult(self):        return self.res    def run(self):        self.res = self.func(*self.args)                class Outclass:    def __init__(self):        print ‘OutClass初始化‘    def execOut(self):        InC = Inclass()        length = 1000        threadlen = 10        k = 0        i = 0        while i < length:            nloops = range(threadlen)            threads = []            for j in range(threadlen):                t = MyThread( InC.execIn, (i,))                i += 1                threads.append(t)            for i in nloops:                threads[i].start()            for i in nloops:                threads[i].join()                            for i in nloops:                print ‘-----result:‘,threads[i].getResult()                            print k,‘---%s--開始執行多線程第%d個小迴圈‘ % (time.ctime(),k)            k += 1            OC = Outclass()OC.execOut()

 

【Python】多線程2

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.