Возможно ли в Java, чтобы задача, запланированная с помощью ScheduleAtFixedRate, начала выполнение до того, как было назJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Возможно ли в Java, чтобы задача, запланированная с помощью ScheduleAtFixedRate, начала выполнение до того, как было наз

Сообщение Anonymous »

В Java при использовании ScheduleAtFixedRate возможно ли выполнение задачи до того, как ScheduledFuture, возвращенный ScheduleAtFixedRate, будет назначен?
Например, может ли следующий код вызвать исключение NullPointerException?
public class RaceCondition
{
private ScheduledFuture scheduledFuture;
private final ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(10);

public void start()
{
scheduledFuture = scheduledExecutorService.scheduleAtFixedRate(this::doWork, 0, 1, TimeUnit.MILLISECONDS);
}

private void doWork()
{
scheduledFuture.cancel(false); // is it possible that scheduledFuture hasn't been assigned yet?
}

public void stop()
{
if (scheduledFuture != null) {
scheduledFuture.cancel(false);
}
scheduledExecutorService.shutdown();
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... o-start-ex
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»