[LTM] Chương 6.8: Explain how to set thread priorities (Thiết lập ưu tiên các luồng)

Methods: wait , notify 
Cơ chế chiếm dụng đồng bộ hóa ngăn cho các tuyến đoạn chồng chéo nhau. 
Các tuyến đoạn vẫn có thể trao đổi thông tin với nhau, sử dụng các phương thức:
 wait()
notify()
notifyAll()
Các phương thức này được định nghĩa trong lớp Object và được thừa kế từ các lớp Object.
public final void wait(long timeout) throws InterruptedException:
Tuyến đoạn hiện thời chờ cho tới khi được cảnh báo hoặc một khoảng thời gian timeout nhất định. 
Nếu timeout bằng 0 thì phương thức sẽ chỉ chờ cho tới khi có cảnh báo về sự kiện. 
public final void notify() 
Cảnh báo ít nhất một tuyến đoạn đang chờ một điều kiện nào đó thay đổi trước khi có thể gọi phương thức wait nào đó.  
public final void notifyAll() 
Cảnh báo tất cả các tuyến đoạn đang chờ một điều kiện thay đổi
Trong số các tuyến đoạn đã được cảnh báo, tuyến đoạn nào có độ ưu tiên cao nhất thì sẽ chạy trước tiên.

Synchronization with wait & notify
Ex: wait , notify



Ex: Synchonized with wait, notify

Bài toán Producer – Consumer.
Product: 
 get
 set(i)
Producer: set Product
Consumer: get Product 

Ex, Synchonoized (syncho_full.java)