【多線程 一】概述

前言:

此篇博客對多線程是一個整體的概述過程,後續會有具體的講解。

1、導圖:

在這裏插入圖片描述

2、何爲線程

線程是進程中的一個執行單元,負責當前進程中程序的執行,一個進程中至少有一個線程。一個進程中是可以有多個線程的,這個應用程序也可以稱之爲多線程程序。java就是一個多線程的,因爲一個java應用程序最少也會有兩個線程,比如man()線程,gc垃圾回收程序

3、爲什麼要用多線程

問題引入:舉個栗子,如果單核cpu,只使用單個線程先後完成多個任務(調用多個方法),肯定比用多個線程來完成的時間更短(大家想想我說的這句話的正確與否?)
答案:正確
比如你現在c盤往d盤複製東西 ,e盤往f盤複製東西,如果此時是完成c盤向d盤複製完東西后,再完成e盤向f盤複製快,還是說c盤往d盤複製一點,停下,然後e盤往f盤複製一點,在停下,然後c盤往d再盤複製一點,直到全部複製完快。想必單核cpu情況下,肯定是第一種方式(單線程)快。

**綜上,多線程提高了cpu的利用率,因爲它一直都在不停的在各個線程之間切換,一直都在忙。但是他的效率不一定是提高的啊。**小面是多線程的好處:

1.提高應用程序的響應。對圖形化界面更有意義,可增強用戶體驗。(用戶在視覺上感到程序是同時在運行)
2. 提高計算機系統CPU的利用率,只是說利用率提高了,並不能說效率一定提高(個人理解,如果是單核cpu,效率還會降低,比如現在我們有兩個進程一個是)
3. 改善程序結構。將既長又複雜的進程分爲多個線程,獨立運行,利於理解和
修改

4、何時需要多線程

1、程序需要同時執行兩個或多個任務。
2、程序需要實現一些需要等待的任務時,如用戶輸入、文件讀寫操作、網絡操作、搜索等。
3、需要一些後臺運行的程序時

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章