Class Producer implements Runnable
Q q;
Producer(Q q) {
this.q = q; // line- 5
new Thread(this, "Producer").start();
}
public void run(){
int i = 0;
while(true){
q.put(i++);
}
}
}
Эй, пожалуйста, скажите мне: 1. На строке 5, в которой они находятся? 2. Почему в строке 6 объект не создается? Непосредственно вызывается функция запуска? ...Программа Interthread Communication
Это, вероятно, хороший способ убить вашу систему. В зависимости от того, как это реализовано, q.put(), вероятно, создаст один или два объекта для каждого вызова, чтобы ваши потоки GC были максимальными. Поведение по умолчанию - использовать все ядра в вашей системе для этого. Если у вас очень быстрые потребители, у вас наверняка будет нехватка памяти, которая, по крайней мере, остановит производителя. –