私は2つのスレッドを持っています.1つはメッセージをディスパッチし、もう1つはメッセージをパーズします。シンプルで一般的。私はArrayBlockingQueue
を同期に使用しますが、ディスパッチャがワーカーのメッセージキューに直接アクセスしないようにしたい - 私はラッパーを使用します。問題は、設定者がと宣言されるべきかどうかです。ArrayBlockingQueueラッパーメソッドを同期させる必要がありますか?
public class Worker implements Runnable{
protected final ArrayBlockingQueue<ByteBuffer> messages = new ArrayBlockingQueue<ByteBuffer>(16);
public synchronized void putMessage(ByteBuffer msg) throws InterruptedException{
messages.put(ByteBuffer);
}
}
セッターはどこですか?それはputMessage()ですか?それはセッターではありません。 –
ああ。質問を編集します。 – Greg
@MozenRathキューオブジェクトが最終ですが、変更されません。その内容ではありません。 – Greg