❶ 多線程的主要用處是什麼
多線程是指從軟體或者硬體上實現多個線程並發執行的技術,具有多線程能力的計算機因有硬體支持而能夠在同一時間執行多於一個線程,進而提升整體處理性能。具有這種能力的系統包括對稱多處理機,多核心處理器以及晶元級多處理或同時多線程處理器。在一個程序中,此獨立運行的程序片段叫作「線程」,利用其編程的概念就叫作「多線程處理」,具有多線程能力的計算機因有硬體支持而能夠在同一時間執行多於一個線程,進而提升整體處理性能。
多線程模式的作用如下:
1、一個採用了多線程技術的應用程序可以更好地利用系統資源。其主要優勢在於充分利用了CPU的空閑時間片,可以用盡可能少的時間來對用戶的要求做出響應,使得進程的整體運行效率得到較大提高,同時增強了應用程序的靈活性。
2、更為重要的是,由於同一進程的所有線程是共享同一內存,所以不需要特殊的數據傳送機制,不需要建立共享存儲區或共享文件,從而使得不同任務之間的協調操作與運行、數據的交互、資源的分配等問題更加易於解決。
3、使用線程可以把占據長時間的程序中的任務放到後台去處理。
4、用戶界面可以更加吸引人,這樣比如用戶點擊了一個按鈕去觸發某些事件的處理,可以彈出一個進度條來顯示處理的進度。
5、程序的運行速度可能加快。
6、在一些等待的任務實現上如用戶輸入、文件讀寫和網路收發數據等,線程就比較有用了。在這種情況下可以釋放一些珍貴的資源如內存佔用等等。
❷ 開發中為何要用多線程
絕大多數程序都是單線程程序,如果程序中有多個任務,比如讀寫文件、更新用戶界面、網路連接、列印文檔等操作,比如按照先後次序,先完成前面的任務才能執行後面的任務。如果某個任務持續的時間較長,比如讀寫一個大文件,那麼用戶界面也無法及時更新,這樣看起來程序像死掉一樣,用戶體驗很不好。怎麼解決這個問題呢?人們提出了多線程編程技術。在採用多線程編程技術的程序中,多個任務由不同的線程去執行,不同線程各自佔用一段CPU時間,即使線程任務還沒有完成,也會讓出CPU時間給其他線程有機會去執行。這樣在用戶角度看起來,好像是幾個任務同時進行的,至少界面上能得到及時更新了,大大改善了用戶對軟體的體驗,提高了軟體的友好度。根據進程與線程的支持情況,可以把操作系統大致分為如下幾類:
(1)單進程、單線程,MS-DOS大致是這種操作系統。
(2)多進程、單線程,多數UNIX(及類UNIX的Linux)是這種操作系統。
(3)多進程、多線程,Win32(Windows NT/2000/XP/7/8/10等)、Solaris 2.x和OS/2都是這種操作系統。
(4)單進程、多線程,VxWorks是這種操作系統。
❸ Java並發編程(二)為什麼需要多線程
*使用線程可以把占據時間長的程序中的任務放到後台去處理
*程序的運行速度可能加快
*在一些等待的任務實現上如用戶輸入、文件讀寫和網路收發數據等,線程就比較有用了。在這種情況下可以釋放一些珍貴的資源如內存佔用等等。
*多線程技術在IOS軟體開發中也有舉足輕重的位置。
❹ 開發中用多線程具體意義
首先,我們開發的大部分軟體都是多線程的,比如聽歌軟體,我們在調整界面的時候,歌曲依然可以正常播放,這就是多線程實現的,主線程負責處理事件,其他的線程可以處理其它的事情。
❺ 什麼是多線程為什麼程序的多線程功能是必要的
為了解決負載均衡問題,充分利用CPU資源.為了提高CPU的使用率,採用多線程的方式去同時完成幾件事情而不互相干擾.為了處理大量的IO操作時或處理的情況需要花費大量的時間等等,比如:讀寫文件,視頻圖像的採集,處理,顯示,保存等
多線程的好處:
1.使用線程可以把占據時間長的程序中的任務放到後台去處理
2.用戶界面更加吸引人,這樣比如用戶點擊了一個按鈕去觸發某件事件的處理,可以彈出一個進度條來顯示處理的進度
3.程序的運行效率可能會提高
4.在一些等待的任務實現上如用戶輸入,文件讀取和網路收發數據等,線程就比較有用了.
多線程的缺點:
1.如果有大量的線程,會影響性能,因為操作系統需要在它們之間切換.
2.更多的線程需要更多的內存空間
3.線程中止需要考慮對程序運行的影響.
4.通常塊模型數據是在多個線程間共享的,需要防止線程死鎖情況的發生
❻ 多線程的適用場景是什麼為啥要用多線程
使用多線程是為了提高程序運行的效率。假如有一個程序,要求用戶輸入多個算式,計算出結果,並分別列印到屏幕上。如果用戶一直沒有輸入,那麼無法計算,更無法列印。如果用戶輸入了,必須要全部輸入完,才能計算出結果,再列印到屏幕。
使用線程的話,一個線程用來等待用戶輸入,一個用來計算結果,一個用來列印。用戶在輸入算式3的時候,計算線程在計算算式2,列印線程在列印算式1,三個線程同時進行,減少了等待,這樣就提高了運行效率
❼ 什麼情況用多線程
1)如果一個長時間耗時的操作導致用戶界面呆滯(用戶操作響應變慢)是,用多線程;
2)多個「並發操作」時,用多線程。比如,你打開一個網路socket同時要與多個遠程客戶端通信,這就是「並發操作」,可以用多線程處理。
---
還有其他一些情形用多線程,主要是上面兩種情況。
❽ 為什麼要用多線程
多線程就是讓不同的線程同時分別干自己的事,提高程序多業務實現。
❾ 為什麼要使用多線程
在一個程序中,這些獨立運行的程序片斷叫作「線程」(Thread),利用它編程的概念就叫作「多線程處理」。
在計算機編程中,一個基本的概念就是同時對多個任務加以控制。許多程序設計問題都要求程序能夠停下手頭的工作,改為處理其他一些問題,再返回主進程。可以通過多種途徑達到這個目的。最開始的時候,那些掌握機器低級語言的程序員編寫一些「中斷服務常式」,主進程的暫停是通過硬體級的中斷實現的。盡管這是一種有用的方法,但編出的程序很難移植,由此造成了另一類的代價高昂問題。中斷對那些實時性很強的任務來說是很有必要的。但對於其他許多問題,只要求將問題劃分進入獨立運行的程序片斷中,使整個程序能更迅速地響應用戶的請求。
最開始,線程只是用於分配單個處理器的處理時間的一種工具。但假如操作系統本身支持多個處理器,那麼每個線程都可分配給一個不同的處理器,真正進入「並行運算」狀態。從程序設計語言的角度看,多線程操作最有價值的特性之一就是程序員不必關心到底使用了多少個處理器。程序在邏輯意義上被分割為數個線程;假如機器本身安裝了多個處理器,那麼程序會運行得更快,毋需作出任何特殊的調校。根據前面的論述,大家可能感覺線程處理非常簡單。但必須注意一個問題:共享資源!如果有多個線程同時運行,而且它們試圖訪問相同的資源,就會遇到一個問題。舉個例子來說,兩個線程不能將信息同時發送給一台列印機。為解決這個問題,對那些可共享的資源來說(比如列印機),它們在使用期間必須進入鎖定狀態。所以一個線程可將資源鎖定,在完成了它的任務後,再解開(釋放)這個鎖,使其他線程可以接著使用同樣的資源。
多線程是為了同步完成多項任務,不是為了提高運行效率,而是為了提高資源使用效率來提高系統的效率。線程是在同一時間需要完成多項任務的時候實現的。