7 22 java學習 多執行緒2

2021-06-22 21:16:41 字數 911 閱讀 3156

一:執行緒之間的通訊

/*

執行緒之間的通訊:對共同資源訪問

但是操作不同

注意:多個執行緒同時做乙個動作,需要while(falg)判斷

notifyall喚醒。

*/class res

class input implements runnable

public void run()

catch(exception e){}

if(x == 0)

else

x = (x+1)%2;

r.flag = true;

r.notify();

}} }

}class output implements runnable

public void run()

catch(exception e){}

system.out.println(r.name+"........."+r.***);

r.flag = false;

r.notify();}}

} }class thread2

}

二:同步函式

/*

同步函式的鎖是this

靜態同步方不是this,是類名.class

靜態進記憶體是,記憶體中沒有本類物件,但是一定有該類對應的位元組碼檔案物件。

死鎖:同步中巢狀同步!

*/class test

public void run()

}} else

}} }

}class lack

class mylock

class deadlocktest

class thread3

}

Java 多執行緒學習總結2

併發執行最理想的狀況是讓一些 毫不相干 的somebody 自己做自己的事情,和別人無關。但是事實讓確非如此,因為在哲學上講,世界是乙個整體,每個個體之間都存在聯絡,我們讓一些東西不相干,是我們人類為了簡化問題,而從概念上進行的分割劃分,呵呵。事實上,如果某個somebody 為多個執行緒共享,其中...

java多執行緒(2)

1.synchronized 鎖重入 執行緒請求由自己持有的物件時,如果該鎖是重入鎖,請求就會成功,否則阻塞 2.synchronized出現異常時,鎖自動釋放 3.當多個執行緒要同乙個例項時 雙重校驗鎖 public class dubblesingleton catch interruptede...

Java多執行緒2 執行緒的建立

上一講中我們講了什麼是執行緒,這一講我們細細討論一下關於執行緒的那些事。先看看執行緒的狀態轉換圖。1.首先執行緒被建立出來。2.進入就緒佇列中等待cpu分配時間片 這裡的時間片指的是cpu允許執行緒執行的最大時間 若在規定時間內未執行完成,則執行緒繼續進入就緒佇列等待cpu分配時間片。3.執行緒進入...