は私が定義された2つの方法で「チャンネル」という名前のクラスを持っている:同期パターン
class Channel {
void read(){...}
void write(){...}
}
マルチスレッド環境で使用されるこのクラスのインスタンスがあります。 1つのスレッドが定期的にスレッドに書き込む間に、複数のスレッドがチャネルから定期的に読み取ります。読み取り操作はスレッドセーフであるため、複数の読み取りが同時に行われるようにしても問題ありません。ただし、書き込み操作が開始されると、書き込み操作が終了するまで読み取りスレッドをブロックする必要があります。読み取り操作をできるだけ速く保ち、リソースを消費する同期ルーチンを避けることが不可欠です。
このような動作を実装する最も適切なパターンは何でしょうか?たぶんjavaクラスやライブラリは助ける?
たぶんJavaの8で、我々は最終的にトライして、リソースがあります:( – stefan
をJavaの7 @stefanはそれだけAutoCloseableを実装するクラスで動作するもののすることを持っている「ん」。Javaの8で出てくるない場合このコードを閉じるともっとよく見える –
ああ、甘い、私はそれが取り出されたと思った。 – stefan