Отсутствует обновление в ConcurrentLinkedQueue в JavaJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Отсутствует обновление в ConcurrentLinkedQueue в Java

Сообщение Anonymous »

У меня есть следующий код в приложении Java Springboot:

Код: Выделить всё

class myClass1 {
void addToQueue() {
logger.info("adding to queue");
myClass2.add(trade);
}
}

Код: Выделить всё

class myClass2 {
ConcurrentLinkedQueue executionQueue = new ConcurrentLinkedQueue();
Trade tradeInExecution;

void add(Trade: trade) {
executionQueue.add(trade);
}

void execute() {
var tradeInExecution = executionQueue.poll();
if (tradeInExecution == null) {
return;
}
logger.info("executing");
// do some processing
}
}

Код: Выделить всё

import org.springframework.scheduling.TaskScheduler;
@Component
public class CustomTaskScheduler {
private final TaskScheduler taskScheduler;

@PostConstruct
public void scheduleTasks() {
taskScheduler.scheduleWithFixedDelay(myClass2::execute, Instant.now(), Duration.ofMillis(100));
}
}
Я также должен добавить, что myClass1.addToQueue() выполняется одновременно.
Проблема иногда возникает в журнале, который я у меня есть «добавление в очередь» и никакого «выполнения» после него. Как такое могло произойти?
Я ожидаю, что каждое «добавление в очередь» в какой-то момент будет иметь «выполнение», но в некоторых случаях «выполнение» отсутствует

Подробнее здесь: https://stackoverflow.com/questions/782 ... ue-in-java
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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