最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 線程池模塊之多線程操作代碼

 更新時(shí)間:2021年05月20日 10:37:37   作者:簡簡單單OnlineZuozuo  
最近在做一個(gè)爬蟲相關(guān)的項(xiàng)目,單線程的整站爬蟲,耗時(shí)真的不是一般的巨大,運(yùn)行一次也是心累,所以,要想實(shí)現(xiàn)整站爬蟲,多線程是不可避免的,那么python多線程又應(yīng)該怎樣實(shí)現(xiàn)呢?今天小編給大家分享下實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧

1、線程池模塊

引入

from concurrent.futures import ThreadPoolExecutor

2、使用線程池

一個(gè)簡單的線程池使用案例

from concurrent.futures import ThreadPoolExecutor
import time

pool = ThreadPoolExecutor(10, 'Python')

def fun():
    time.sleep(1)
    print(1, end='')


if __name__ == '__main__':
    # 列表推導(dǎo)式
    [pool.submit(fun) for i in range(20) if True]
from concurrent.futures import ThreadPoolExecutor
import time

pool = ThreadPoolExecutor(10, 'Python')

def fun(arg1,arg2):
    time.sleep(1)
    print(arg1, end=' ')
    print(arg2, end=' ')


if __name__ == '__main__':
    # 列表推導(dǎo)式
    [pool.submit(fun,i,i) for i in range(20) if True]
    # 單個(gè)線程的執(zhí)行
    task = pool.submit(fun,'Hello','world')
    # 判斷任務(wù)執(zhí)行狀態(tài)
    print(f'task status {task.done()}')
    time.sleep(4)
    print(f'task status {task.done()}')

    # 獲取結(jié)果的函數(shù)是阻塞的,所以他會(huì)等線程結(jié)束之后才會(huì)輸出
    print(task.result())


 3、獲取結(jié)果

阻塞等待

print(task.result())

批量獲取結(jié)果

for future in as_completed(all_task):
    data = future.result()

阻塞主線程,等待執(zhí)行結(jié)束再執(zhí)行下一個(gè)業(yè)務(wù)

# 等待線程全部執(zhí)行完畢
wait(pool.submit(fun,1,2),return_when=ALL_COMPLETED)
print('')

以上就是Python 線程池模塊之多線程操作代碼的詳細(xì)內(nèi)容,更多關(guān)于Python 線程池模塊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

黔西县| 乡宁县| 田林县| 阳朔县| 建昌县| 湛江市| 本溪| 呼和浩特市| 宣威市| 盐池县| 义乌市| 湖北省| 武鸣县| 台州市| 疏附县| 昭通市| 遵化市| 阳江市| 孝义市| 古丈县| 济南市| 灵宝市| 沅陵县| 大宁县| 尉氏县| 文安县| 同心县| 邵阳县| 景德镇市| 土默特右旗| 鹤山市| 克东县| 板桥市| 西昌市| 乌兰浩特市| 河北区| 陇南市| 弥勒县| 华蓥市| 白山市| 彭阳县|