Код: Выделить всё
spring.threads.virtual.enabled=true
Код: Выделить всё
org.springframework.boot
spring-boot-starter-parent
3.4.0
Когда я запускаю свой код, я не вижу структурированного параллелизма! Вместо этого это происходит последовательно. Вот код:
Код: Выделить всё
public String testFlow() {
final Instant start = Instant.now();
// Step 1: Generate a random expression
String expression = generateExpression();
log.info("Generated expression: {}", expression);
//dummy calls to check if virtual threads make it parallel
String dummy1 = generateExpression();
String dummy2 = generateExpression();
...
private String generateExpression() {
log.info("Current Thread: {}", Thread.currentThread().getName());
return restClient
.get()
.uri("/generate")
.retrieve()
.body(String.class);
}
Полный код можно найти на GitHub.
Кроме того, ниже приведена моя распределенная трассировка вышеуказанного потока. Здесь вы можете видеть, как генератор вызывается 3 раза и выполняется последовательно, а не параллельно.
Как это может происходить?
Подробнее здесь: https://stackoverflow.com/questions/792 ... -execution