java多執行緒間的通訊

2021-09-05 01:24:57 字數 926 閱讀 2593

wait/notify

1.wait 方法是釋放鎖,notify 方法是不釋放鎖的

2.notify 每次喚醒 wait 等待狀態的執行緒都是隨機的,且每次只喚醒乙個。

public class mylist 

public static int size()

}

public class threada extends thread 

@override

public void run()

}} catch (interruptedexception e)

}}

public class threadb extends thread 

@override

public void run()

system.out.println("新增了" + (i + 1) + "個元素!");

thread.sleep(1000);}}

} catch (interruptedexception e)

}}

public class run  catch (interruptedexception e) 

}}

wait begin 1545373376331

新增了1個元素!

新增了2個元素!

新增了3個元素!

新增了4個元素!

已發出通知!

新增了5個元素!

新增了6個元素!

新增了7個元素!

新增了8個元素!

新增了9個元素!

新增了10個元素!

wait end 1545373386385

Java多執行緒 執行緒間通訊

一,等待 通知機制 實現執行緒間的通訊 舉個例子 我們去飯店就餐,飯店上餐的時間不確定,如果我們一直去詢問前台,是不是很煩,我麼這時就處於等待 wait 狀態,但是 飯店肯定會有人肯定會通知 notify 那個桌的菜已經做好了,前台就會通知這桌的人,菜來了。1,主要的方法wait notify 這個...

JAVA 多執行緒 執行緒間的通訊

程式設計間通訊 其實就是多個執行緒在操作同乙個資源 但是操作的動作不同 wait notify notifyall 都使用在同步中,因為要對持有的監視器 鎖 的執行緒操作 所以要使用在同步中,因為只有同步才具有鎖 將這些操作執行緒的方法定義在object類中的原因是因為這些方法在操作同步執行緒時,都...

Java多執行緒 執行緒間的通訊

wait notify 必須與synchronized關鍵字配合使用。wait方法釋放鎖,notify方法不釋放鎖。示例乙個阻塞佇列 public class myqueue 5 初始化乙個物件 用於加鎖 private final object lock new object put anobje...