Следуя этому примеру в руководствах по Java (tm), я реализовал этого базового производителя - одно потребительское приложение в Delphi 2009 (которое ввело блокировки объектов).
Теперь я хотел бынравится расширять его, чтобы более чем один потребительский поток принимал сообщения от экземпляра Drop.По сравнению с примером учебника по Java единственное изменение кода будет в основном методе:
public class ProducerConsumerExample {
public static void main(String[] args) {
Drop drop = new Drop();
(new Thread(new Producer(drop))).start();
(new Thread(new Consumer(drop))).start();
(new Thread(new Consumer(drop))).start(); // <--- added
(new Thread(new Consumer(drop))).start(); // <--- added
}
}
Таким образом, класс Drop все равно будет иметь один объект сообщения типа String, и все работающие потребители будут конкурировать за получение доступазаблокировать и обработать данные сообщения.
Внесет ли изменение в этот код риски или это безопасно использовать?