多執行緒基礎(一)

2022-09-23 21:03:26 字數 1040 閱讀 4105

多執行緒基礎(一):程序是一塊包含了某些資源的記憶體區域,作業系統利用程序把它的工作劃分為 些功能單元。

執行緒程序中包含的乙個或多個執行單元稱之為執行緒。乙個執行緒是程序的乙個順序執行流。同類的多個執行緒共享一塊記憶體空間和一組系統資源,執行緒本身有乙個工程式執行時的堆疊。 程序和執行緒的區別

執行緒是指程序內的乙個執行單元,也是程序內的可排程實體。

與程序的區別:

(1)位址空間:程序內的乙個執行單元,程序至少乙個執行緒,他們共享程序的位址空間,而程序有自己獨立的位址空間

(2)資源擁有:程序是資源分配和擁有的單位,同乙個程序內的執行緒共享程序資源

(3)執行緒是處理器排程的基本單位,但程序不是

(4)二者皆可併發執行

程序和執行緒都是作業系統的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性,程序和執行緒的區別在於:

乙個程式至少有乙個程序,乙個程序至少有乙個執行緒。

執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高

程序在執行的過程中有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提公升了程式的執行效率

執行過程區別:每個獨立的縣城都有乙個程式執行的入口,順序執行序列和程式的入口,但是執行緒不能夠獨立執行,但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制

由邏輯角度來看,多執行緒的意義在於乙個應用程式中,有多個執行部分可以同時執行,但作業系統並沒有將多個執行緒看做多個獨立的應用來實現程序的排程和管理,這就是執行緒和程序的重要區別。

乙個執行緒可以建立和撤消另乙個執行緒,同乙個程序中的多執行緒之間可以併發執行

3.執行緒的使用場合

執行緒通常用於在乙個程式中需要同時完成多個任務時,我們可以將每乙個任務定義為乙個執行緒,使用它們得以一同工作

4、併發原理

執行緒排程分配cpu的時間片段給不同的執行緒。得到時間片段的執行緒被cpu執行,沒有得到時間片段的執行緒等待。cpu會盡可能的分配均勻的時間片段給不同的執行緒。微觀上是 走走停停的,巨集觀上都在執行,這種現象叫做併發,但不是真是意義上的同時發生

5、執行緒的狀態

乙個作業系統中只存在乙個執行緒在執行,唯有得到時間片段的執行緒才執行。

多執行緒基礎 一

多執行緒基礎篇 一 程序與執行緒的區別 程序 程序是作業系統結構的基礎,是系統進行資源分配和排程的基礎 執行緒 執行緒是作業系統排程的最小單元,乙個程序中可以建立多個執行緒。二 執行緒的狀態 new 新建狀態。runnable 可執行狀態。一旦呼叫start方法,執行緒就處於runnable狀態,乙...

多執行緒基礎(一)

多執行緒實現的第一種方式 自定義執行緒類 mythread類 第一步 書寫乙個類繼承thread public class mythread extends thread testmythread類 public class testmythread 多執行緒啟動的第二種方式 runnable實現類...

多執行緒基礎(一)執行緒建立

繼承thread類 自定義乙個類,繼承thread類 重寫run方法,run方法中用於定義當前執行緒的執行邏輯。建立執行緒類的物件 開啟執行緒 thread類中start 方法啟動執行緒 此案例展示第一種建立執行緒之方法 繼承thread類 說明 1.若 static 修飾 i,則共享i 關於thr...