1
다음 방법이 맞는지 알고 싶습니다. 공통의 BlockingQueue에서 작동하는 제작자 및 소비자 스레드가 있습니다. 제작자가 스니퍼 스레드이므로 자동으로 중지되지만 소비자가 생산자 스레드의 상태 (활성/비활성)에 대한 루프로 종료하는 것으로 생각됩니다. 어떤 제안? 감사합니다스레드 소비 큐, 종료
-) 메인 스레드에서 :
ArrayBlockingQueue<PcapPacket> queue = new ArrayBlockingQueue<>();
Producer p = new Producer(queue);
Thread t1 =new Thread(p);
t1.start();
Consumer c = new Consumer(queue,t1);
new Thread(c).start();
-) 프로듀서
public void run() {
public void nextPacket(PcapPacket packet, String user) {
try {
queue.put(packet);
} catch (InterruptedException ex) {
}
-) 소비자
public void run() {
while(producer.isAlive()){
try {
//Thread.sleep(50);
packet=queue.take();