程序:是程式的執行過程(是乙個動態的),程序中持有資源(共享記憶體,共享檔案)和執行緒
執行緒:是系統中最小的執行單元,同一程序中有多個執行緒,執行緒共享程序的資源
多執行緒圖
執行緒的5種狀態:
同步什麼時間用:資源共享時需要進行同步操作
同步的缺點:程式中過多的同步會產生死鎖
經典案例:生產者消費者問題:在synchronized裡面加標誌位boolean flag 判斷是否可以生產(還是取走),可以解決。
package com.guojinlong.xiancheng;
class info catch (interruptedexception e)
} this.name=name;
try catch (interruptedexception e)
this.content=content;
flag=false;
super.notifyall();
} public synchronized void get() catch (interruptedexception e)
} try catch (interruptedexception e)
system.out.println(this.name+"==="+this.content);
flag=true;
super.notifyall(); }}
class producer implements runnable
@override
public void run() else
} }
}class consumer implements runnable
@override
public void run()
} }public class threadcasedemo1
}
未完...(如有任何問題,歡迎指出)
執行緒狀態詳解
執行緒狀態詳解2
多執行緒 同步與死鎖
多個操作在同一時間內 只能有乙個執行緒執行,其他執行緒要等此執行緒完成之後才能繼續執行。要解決資源共享的同步操作問題,可以使用同步 塊和同步方法完成。1.1 同步 塊 塊分四種 1 普通 塊 是直接定義在方法之中的。2 構造塊 是定義在類中的,優先於構造方法執行,可以重複呼叫 3 靜態塊 是使用st...
多執行緒(三) 同步與死鎖
了解執行緒同步的作用 乙個多執行緒的程式,如果是通過runnable介面實現的,則意味著類中的屬性將被多個執行緒共享,那麼這樣一來就會造成一種問題,如果這多個執行緒要操作同一資源的時候就有可能出現資源的同步問題。例如 以之前的賣票程式來講,如果多個執行緒同時操作的時候就有可能出現賣出票為負數的問題。...
執行緒同步與死鎖
執行緒同步與死鎖 課程大綱 一 多執行緒共享資料 1 在多執行緒的操作中,多個執行緒有可能同時處理同乙個資源,這就是多執行緒中的共享資料。二 執行緒同步 1 解決資料共享問題,必須使用同步,所謂同步就是指多個執行緒在同乙個時刻只能有乙個執行緒執行指定 其他執行緒要等到該執行緒執行結束之後才能繼續執行...