スレッドをキャンセルするための通常の協調メカニズムを実装したいと考えています。 しかし、私がJDK5以前の環境にいる間は、JavaメモリーモデルはJDK5でのみ修正されていました。 私は、これはSCIPで信じられているように、このようなことが正しいとは限りません。パフォーマンスが最も低い揮発性物質の代替品
class Worker implements Runnable
{
private volatile boolean _canceled;
public void cancel() { _canceled = true; }
public void run() {
while(! _canceled)
{
// do my Stuff
}
}
}
私はAtomicBooleanを使用して_canceled変数をカプセル化することを考えています。 他の方法はありますか?
バックポートコードを見ていきます。ありがとう –