當前位置:
首頁 > 最新 > Python多線程編程基礎1:為什麼要使用線程

Python多線程編程基礎1:為什麼要使用線程

多線程技術的引入並不僅僅是為了提高處理速度和硬體資源利用率,更重要的是可以提高系統的可擴展性(採用多線程技術編寫的代碼移植到多處理器平台上不需要改寫就能立刻適應新的平台,可以也可以簡單地通過增加處理器數量來提高性能)和用戶體驗。

對於單核CPU計算機而言,使用多線程並不能提高任務完成速度,但有些場合必須要使用多線程技術,或者採用多線程技術可以讓整個系統的設計更加人性化。

下面是常見的多線程編程技術應用場景:

使用多個線程下載大文件或完成一個較大的任務,可以在一定程度上提高速度(但是也會帶來一些資源管理上的問題,如果處理不好反而會引起麻煩,這個後面再談)

批量文件複製時,可以使用多個線程來提高整體速度。

在執行一段代碼的同時還想接收和響應用戶的鍵盤或滑鼠事件以提高用戶體驗,這時候就只能在主線程中以子線程的形式來運行這段代碼。

Windows操作系統的Windows Indexing Services創建了一個低優先順序的線程,該線程定期被喚醒並對磁碟上的特定區域的文件內容進行索引以提高用戶搜索速度。

打開Photoshop、3DsMax這樣的大型軟體時需要載入很多模塊和動態鏈接庫,軟體啟動時間會比較長。這時候可以使用一個線程來顯示一個小動畫來表示當前軟體正在啟動,當後台線程載入完所有的模塊和庫之後,結束該動畫的播放並打開軟體主界面,這也是多線程同步的一個典型應用。

字處理軟體可以使用一個優先順序高的線程來接收用戶鍵盤輸入,而使用一些低優先順序線程來進行拼寫檢查、語法檢查、分頁以及字數統計之類的功能並將結果顯示在狀態欄上,這無疑會極大方便用戶的使用,對於提高用戶體驗有重要幫助。

在伺服器或代理伺服器上,同一個服務往往會啟動多個線程,每個線程服務於一個客戶端,在提高資源利用率的同時也提高了任務的吞吐量。

歡迎大家補充更多應用場景。

1、Python師資培訓班:8月6日-12日,濟南,面向全國高校老師和企業朋友,通知詳見關於舉辦2017年暑期全國高校教師 「Python編程及應用」培訓班通知,贈送Python教材2本、Python教學PPT超過1600頁,Python教學視頻140集,Python教學案例300個。補充說明:如果不需要安排住宿的話,5天學費2100元(含午餐)。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

7 個你該學習 Python的理由
如何用Python和機器學習炒股賺錢?
高效使用 Python 可視化工具 Matplotlib
Python 調用 C 模塊以及性能分析
代碼這樣寫更優雅,15篇 Python 技術熱文

TAG:Python |

您可能感興趣

android 多線程編程
入門Python多線程/多進程編程
Python 並發編程之線程池/進程池
Python的Socket知識6:線程、線程鎖、線程池、上下文管理
Android 進程和線程
Python學習之進程和線程
PyQt5+ Python3 多線程通信
Envoy為什麼能戰勝Ngnix——線程模型分析篇
C++11並發編程:多線程std:thread
python筆記12-python多線程之事件
Python並發:線程和鎖
python爬取youtube視頻 多線程 非中文自動翻譯
python udp的應用 ,多線程實現聊天功能
python threading中處理主進程和子線程的關係
數據科學愛用程序語言Julia將加入多線程平行運算功能
深入理解Flutter引擎線程模式
muduo——EventLoop處理線程安全的問題
為你詳細解析Python中的線程與進程的區別
多線程互斥之Dekker演算法
由於ZombieLoad漏洞,英特爾的CPU超線程可能要涼了