Предположим, у нас есть процесс, который получает набор событий.Для каждого из событий мы вызываем службу исполнителя для обработки входящих событий в другом потоке.Хотелось бы узнать, сохранится ли порядок событий или нет?Если это влияет на порядок событий, как я могу сохранить порядок событий без использования очередей.
public void process(PacketContext context) {
if (context == null) {
log.error("Packet context is null");
return;
}
PacketContextProtoOuterClass.PacketContextProto packetContextProto =
PacketContextProtoTranslator.translate(context);
for (String clientId : clientList) {
String key = clientId + ServicesProto.topicType.PACKET_CONTEXT.toString();
Notification notification =
Notification.newBuilder()
.setClientId(clientId)
.setPacketContext(packetContextProto)
.build();
if (observerMap.containsKey(key)) {
Runnable runnable =
() -> {
observerMap.get(key).onNext(notification);
};
executorService.execute(runnable);
}