Quan hệ Producer-Consumer • Giải pháp đồng bộ hoá: • Trước khi tiếp tục sinh dữ liệu và đưa vào buffer, Producer phải chờ (wait) Consumer đọc xong dữ liệu từ buffer. • Khi Consumer đọc xong dữ liệu, nó sẽ thông báo (notify) cho Producer biết để tiếp tục sinh dữ liệu. • Nếu Consumer thấy trong buffer không có dữ liệu hoặc dữ liệu đó đã được đọc rồi, nó sẽ chờ (wait) cho tới khi nhận được thông báo có dữ liệu mới. • Khi Producer sản xuất xong dữ liệu, nó thông báo (notify) cho Consumer biết. . | Quan hệ Producer-Consumer Giải pháp đồng bộ hoá Trước khi tiếp tục sinh dữ liệu và đưa vào buffer Producer phải chờ wait Consumer đọc xong dữ liệu từ buffer. Khi Consumer đọc xong dữ liệu nó sẽ thông báo notify cho Producer biết để tiếp tục sinh dữ liệu. Nếu Consumer thấy trong buffer không có dữ liệu hoặc dữ liệu đó đã được đọc rồi nó sẽ chờ wait cho tới khi nhận được thông báo có dữ liệu mới. Khi Producer sản xuất xong dữ liệu nó thông báo notify cho Consumer biết. 26 Ví dụ về P-C Không đồng bộ class Buffer private int buffer -1 public void set int value buffer value public int get return buffer 27 Ví dụ về P-C Không đồng bộ class Producer extends Thread private Buffer sharedBuffer public Producer Buffer shared super Producer sharedBuffer shared .