執行緒和程序

2022-03-19 00:11:39 字數 760 閱讀 1426

程序:執行中的程式,乙個程序可以包含乙個或多個執行緒,乙個程序至少包含乙個執行緒

執行緒:依靠程式進行執行,只能使用分配給程式的資源和環境

單執行緒:程式中只存在乙個執行緒,實際主方法就是乙個主線程

多執行緒:多執行緒是在乙個程式中執行多個任務,目的是更好的使用cpu資源

執行緒的2中實現:

1、繼承thread類    重寫run()方法,執行緒啟動用start()方法,

2、實現runnable介面    實現ruannbale介面,thread t1 = new thread(實現ruannbale介面的類)

執行緒併發時,誰搶到資源歸誰

執行緒方法:

getname();獲取執行緒名稱

currentthread();當前執行緒物件

isalive();判斷是否啟動

join();強行執行

sleepa();休眠

yield();禮讓

執行緒的狀態:建立、就緒、執行、阻塞、終止

執行緒的優先順序:1-min_priority

10-max_priority

5-norm_priority(預設)

thread t1 = new thread();  t1.setpriority(); t1.start();首次優先順序

同步與死鎖:在**塊上加「synchronized」關鍵字,則**塊為同步**塊。為了達到資源共享,其實是讓排隊。

synchronized void 方法名稱(){}

解死鎖可以用標識位

執行緒和程序

標準的定義是 程序是執行緒的容器,乙個程序可於乙個或者多個執行緒,它是系統分配資源的基本單位 同乙個程序下,執行緒共享位址空降 已經開啟的檔案 訊號處理函式 報警訊號和其他,執行緒自己只保留程式計數器和棧。但是很遺憾的,這個只是教科書上的定義,實際情況是每個作業系統實現的作業系統特性不同,實現的方法...

程序和執行緒

乙個程序就是當前正在執行的乙個程式,包括程式的暫存器 程式計數器和變數的當前值。不同的程序擁有不同的位址空間。而執行緒可以理解為是程序中的控制流。同乙個程序內也就是說在同乙個位址空間內可以有多個控制流。也就是可以有多個線 程,他們共享位址空間。我們通常將程序視為是資源的集合,程序中有程式的正文 資料...

執行緒和程序

對於求職者,在面試的時候大多都會被問到 你對多執行緒了解麼?給我講講執行緒和程序的區別吧。在unix中,乙個程序可以理解為執行緒 位址空間 檔案描述符 資料,道破現實,其實就相當於老闆和員工,老闆就是程序,員工就是執行緒。老闆需要僱傭若干員工 執行緒 還要有辦公樓 位址空間 還要有若干的辦公裝置 檔...