我們為何要使用多執行緒,它有什麼優點?

2021-09-07 08:47:33 字數 982 閱讀 2037

其實在平時的開發中,很多程式設計師都不會去寫執行緒,為啥?因為麻煩,其次是用到的地方並不多,除非逼不得已,大家都不會去寫,畢竟寫一天**,拿一天工資,是吧?

麻煩歸麻煩,但是多執行緒的優點不得不說:

1. 資源利用率提公升,程式處理效率提高

打個比方:我們做上傳的時候,在上傳成功後往往會進行的處理,原圖儲存後,會再生成一張小圖以作為一些應用的預覽圖,那麼原圖的處理就需要程式去讀取再處理,假設讀取需要花費1秒,處理需要2秒,現在有3張大圖,所需要耗費的時間就是(1+2)x3=9秒,根據的不同,那麼單位時間會更多,總計時間就會更久。

那麼如果把程式設計更好的話,那就是在讀取檔案的時候同時處理上乙個檔案,這樣就可以盡可能的縮短時間,減少客戶端的響應,同時也提公升了cpu的使用率。

如果還不能理解的話那就再舉個例子,我朋友公司是專為某銀行處理資料同步的問題,每天凌晨銀行那邊會有幾十萬條資料傳送過來進行處理,專案本身就是個坑,幾百萬條資料接收後直接去處理了,每次執行大多都要耗費2.5個小時,時間實在太久,如果哪天有幾億資料是不是要跑幾十個小時了?那麼就可以用多執行緒,切割這個資料,利用不同的執行緒來處理,最後把時間縮短到了半小時左右

2. **會相對簡單

如果利用單執行緒去處理檔案,那麼我們就得標記每次處理的各個節點的狀態;而如果使用多執行緒的話處理完乙個扔乙個,可以簡便不少

3. 軟體執行速度提公升

就像之前所說的魔獸爭霸那樣,如果採礦伐木打獵都是由乙個農民工來做的話,那他會累死,而如果分配3個農民工來做的話,那麼時間大大縮短;同理,軟體程式在處理檔案的時候也是乙個道理。

也就是說,往常我們監聽的是使用者請求,現在我們把使用者請求塞給執行緒,我們去監聽執行緒就可以了。

假如說,eclipse是同時進行任務處理的,那麼每個任務處理完後響應乙個狀態,然後再提示給使用者,可以彈出顯示,或者在底部狀態來加個有顏色的提醒,都可以。(如果理解成訊息佇列的處理方式也可以,在雲計算業務中利用訊息佇列處理各種伺服器請求也是類似道理)

那麼,這樣的程式設計對於軟體自身來說響應速度就更快了,使用者的體驗也就更高了~

我們為何要使用多執行緒,它有什麼優點?

其實在平時的開發中,很多程式設計師都不會去寫執行緒,為啥?因為麻煩,其次是用到的地方並不多,除非逼不得已,大家都不會去寫,畢竟寫一天 拿一天工資,是吧?麻煩歸麻煩,但是多執行緒的優點不得不說 1.資源利用率提公升,程式處理效率提高 打個比方 我們做上傳的時候,在上傳成功後往往會進行的處理,原圖儲存後...

為什麼要使用多執行緒

一 多執行緒的一些解釋 來至知乎 我覺得解釋的比較好,比較詳細,就給大家分享一下 1 單程序單執行緒 乙個人在一張桌子上吃菜 2 單程序多執行緒 多個人在同一張桌子上吃菜 3 多程序單執行緒 多個人每個人在自己的桌子上吃菜 多執行緒的問題就是多個人在同一張桌子上吃同一道菜時會發生爭搶,如果兩個人同時...

cpu超執行緒優缺點 什麼是超執行緒,它有什麼優點?

超執行緒客觀來說可以欺騙系統排程機制,讓你四核八執行緒處理器,四核用不滿載的感覺,智慧型系統排程就是這個意思。intel之所以能夠在中國熱銷8年四核 7處理器比如 7 2600 2700k 3770k 4970k 6700k 7700k,就是得益於微軟windows系統的核心排程機制,再你遊戲切換出...