python中怎么執(zhí)行多線程,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
建網(wǎng)站原本是網(wǎng)站策劃師、網(wǎng)絡(luò)程序員、網(wǎng)頁(yè)設(shè)計(jì)師等,應(yīng)用各種網(wǎng)絡(luò)程序開發(fā)技術(shù)和網(wǎng)頁(yè)設(shè)計(jì)技術(shù)配合操作的協(xié)同工作。成都創(chuàng)新互聯(lián)公司專業(yè)提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站制作(企業(yè)站、響應(yīng)式網(wǎng)站建設(shè)、電商門戶網(wǎng)站)等服務(wù),從網(wǎng)站深度策劃、搜索引擎友好度優(yōu)化到用戶體驗(yàn)的提升,我們力求做到極致!
執(zhí)行說(shuō)明
1、多線程執(zhí)行是GIL鎖的存在,實(shí)際執(zhí)行是單線程。
2、一次只執(zhí)行一個(gè)線程,切換其他線程執(zhí)行,其中切換時(shí)間非常短,看起來(lái)像多線程執(zhí)行。
實(shí)例
繼承Thread類的方式來(lái)創(chuàng)建自定義的線程類,然后再創(chuàng)建線程對(duì)象并啟動(dòng)線程。
from random import randint from threading import Thread from time import time, sleep class DownloadTask(Thread): def __init__(self, filename): super().__init__() self._filename = filename def run(self): print('開始下載%s...'% self._filename) time_to_download = randint(5,10) sleep(time_to_download) print('%s下載完成!耗費(fèi)了%d秒' %(self._filename, time_to_download)) def main(): start = time() t1 = DownloadTask('python入門') t2 = DownloadTask('av.avi') t1.start() t2.start() t1.join() t2.join() end = time() print('共耗費(fèi)了%.2f秒'%(end - start)) if __name__ == '__main__': main()
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。