Приведена реализация схемы Producer-Consumer (язык Java). class Q { int n; synchronized int get() { return n; } synchronized void put() { this.n = n; }}class Producer { Q q; Producer(Q q) { this.q = q; new Thread(this, "Producer").start(); } public void run() { int i = 0; while(true) { q.put(i++); } }}class Consumer { Q q; Consumer(Q q) { this.q = q; new Thread(this, "Consumer").start(); } public void run() { while(true) { q.get(); } }}class PC { public static void main() { Q q = new Q(); new Producer(q); new Consumer(q); }}
Какие утверждения справедливы для данной программы?
(Ответ считается верным, если отмечены все правильные варианты ответов.)
Варианты ответа
данная программа корректна и характеризуется однозначным результатом выполнения
программа является корректной, но результат её выполнения зависит от реализации языка Java
данная программа не является корректной с точки зрения языка Java (Верный ответ)
в данной программе не было реализовано ни одного пользовательского потока (Верный ответ)