Я хочу реализовать обычный кооперативный механизм для отмены потока.
Однако модель памяти Java была исправлена только в JDK5, пока я нахожусь в среде до 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.
Любые другие альтернативы?