什麽叫多線程
多線程,是指從軟件或者硬件上實現多個線程並發執行的技術。?在壹個程序中,這些獨立運行的程序片段叫作“線程”,利用它編程的概念就叫作“多線程處理”。具有多線程能力的計算機因有硬件支持而能夠在同壹時間執行多於壹個線程,進而提升整體處理性能。
多線程是為了同步完成多項任務,不是為了提高運行效率,而是為了提高資源使用效率來提高系統的效率。最簡單的比喻多線程就像火車的每壹節車廂,而進程則是火車。車廂離開火車是無法跑動的,同理火車也不可能只有壹節車廂。
擴展資料
多線程用途:
在大多數研究領域內是要求線程調度程序要能夠快速選擇其中壹個已就緒線程去運行,而不是壹個壹個運行而降低效率。而另壹個研究領域則是要研究何種事件(高速緩存失敗、內部運行連續性、使用DMA等)會造成線程切換。
如果多線程的方案會復制所有軟件可見的狀態,包括特許的控制登錄、TLB 等,那就能夠讓虛擬機去創造各式線程。這樣子就允許在相同的處理器中每個線程跑各自的操作系統。換句話說,如果只有存儲了用戶模式的狀態,就能夠讓相同的裸晶大小的芯片在壹段時間內處理更多的線程。
好處:
1、可以發揮多核處理器的優勢,程序的運行速度可能加快,更流暢。
2、用戶界面可以更加吸引人,這樣比如用戶點擊了壹個按鈕去觸發某些事件的處理,可以彈出壹個進度條來顯示處理的進度。
3、在壹些等待的任務實現上如用戶輸入、文件讀寫和網絡收發數據等,線程就比較有用了。在這種情況下可以釋放壹些珍貴的資源如內存占用等等。
缺點:
1、線程的中止需要考慮其對程序運行的影響。
2、如果有大量的線程,會影響性能,因為操作系統需要在它們之間切換。
3、線程可能會給程序帶來更多“bug”,註意線程安全的問題。
4、通常塊模型數據是在多個線程間***享的,需要防止線程死鎖情況的發生。
百度百科-多線程