国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python多線程多進程實例對比解析

瀏覽:5日期:2022-08-02 15:06:00

多線程適合于多io操作

多進程適合于耗cpu(計算)的操作

# 多進程編程# 耗cpu的操作,用多進程編程, 對于io操作來說,使用多線程編程import timefrom concurrent.futures import ThreadPoolExecutor, as_completedfrom concurrent.futures import ProcessPoolExecutordef fib(n): if n <= 2: return 1 return fib(n - 2) + fib(n - 1)if __name__ == ’__main__’: # 1. 對于耗cpu操作,多進程優于多線程 # with ThreadPoolExecutor(3) as executor: # all_task = [executor.submit(fib, num) for num in range(25, 35)] # start_time = time.time() # for future in as_completed(all_task): # data = future.result() # print(data) # print('last time :{}'.format(time.time() - start_time)) # 3.905290126800537 # 多進程 ,在window環境 下必須放在main方法中執行,否則拋異常 with ProcessPoolExecutor(3) as executor: all_task = [executor.submit(fib, num) for num in range(25, 35)] start_time = time.time() for future in as_completed(all_task): data = future.result() print(data) print('last time :{}'.format(time.time() - start_time)) # 2.6130592823028564

可以看到在耗cpu的應用中,多進程明顯優于多線程 2.6130592823028564 < 3.905290126800537

下面模擬一個io操作

# 多進程編程# 耗cpu的操作,用多進程編程, 對于io操作來說,使用多線程編程import timefrom concurrent.futures import ThreadPoolExecutor, as_completedfrom concurrent.futures import ProcessPoolExecutordef io_operation(n): time.sleep(2) return nif __name__ == ’__main__’: # 1. 對于耗cpu操作,多進程優于多線程 # with ThreadPoolExecutor(3) as executor: # all_task = [executor.submit(io_operation, num) for num in range(25, 35)] # start_time = time.time() # for future in as_completed(all_task): # data = future.result() # print(data) # print('last time :{}'.format(time.time() - start_time)) # 8.00358772277832 # 多進程 ,在window環境 下必須放在main方法中執行,否則拋異常 with ProcessPoolExecutor(3) as executor: all_task = [executor.submit(io_operation, num) for num in range(25, 35)] start_time = time.time() for future in as_completed(all_task): data = future.result() print(data) print('last time :{}'.format(time.time() - start_time)) # 8.12435245513916

可以看到 8.00358772277832 < 8.12435245513916, 即是多線程比多進程更牛逼!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 武义县| 乌兰县| 金塔县| 胶南市| 二连浩特市| 左权县| 内江市| 伊宁市| 和顺县| 麻栗坡县| 密山市| 遵义市| 马尔康县| 西充县| 达州市| 维西| 梧州市| 京山县| 星座| 张家界市| 泰来县| 宁国市| 信宜市| 阿合奇县| 吴川市| 南通市| 雷山县| 玉门市| 同心县| 安仁县| 嘉祥县| 大埔区| 双江| 县级市| 洞头县| 玛多县| 泰州市| 郴州市| 定安县| 海晏县| 闽清县|