多執行緒學習

2021-07-10 17:43:42 字數 617 閱讀 2770

thread和runnable的區別

單繼承模式thread 而 runnable是介面

start 和run的區別

start是乙個執行緒只能啟動,run可以執行多次,並且run是呼叫當前正在執行的執行緒

wait() notify()—object物件所具有的

sleep()

setpriority

同步機制

hashmap arraylist string 非執行緒安全

如何保證資訊的一致性

start—>等待、阻塞、執行、結束

死鎖:四種情況會產生死鎖:

1、相互排斥:獨佔共享資源

2、迴圈等待: a等待b b等待c而c等待a

3、部分分配 :資源被部分分配,例如,程序a和b都需要訪問乙個檔案,同時需要用到印表機,程序a得到了這個檔案資源,程序b得到了印表機資源,但兩個程序都不能獲得全部的資源

4 、 缺少優先權:乙個程序獲得了該資源但是一直不釋放該資源,即使該程序處於阻塞狀態

活鎖:由於優先順序比較低,任務排程的時候總是以高優先順序優先,那麼優先順序低的總是在佇列裡等待。一系列程序在輪詢地等待。

飢餓:??

生產者消費者模式

多執行緒學習

用 編輯 的多執行緒時用gcc threadtest 1.c 編譯時 一直報錯,報錯如下 tmp ccgko5iu.o 在函式 thread create 中 threadtest 1.c text 0x13b 對 pthread create 未定義的引用 threadtest 1.c text ...

多執行緒學習

簡單學習多執行緒。建立多執行緒有兩種方法。一 繼承thread類。多執行緒練習,通過繼承thread public class testthread extends thread public static void main string argsd 二 實現runnable介面。多執行緒練習。通...

多執行緒學習

用 編輯 的多執行緒時用gcc threadtest 1.c 編譯時 一直報錯,報錯如下 tmp ccgko5iu.o 在函式 thread create 中 threadtest 1.c text 0x13b 對 pthread create 未定義的引用 threadtest 1.c text ...