Aktywne Wpisy

Rad-X +80


uncle_freddie +180
Bednarek wjeżdża w świeżo powracającego po wielomiesięcznej kontuzji JE Pana Piłkarza Krzysia Drewno
Trud jego skończony w 9' ćwierćfinału z Forest
MIRROR: https://streamin.link/v/ca479646
MIRROR PL: https://streamin.link/v/6891e164
Trud jego skończony w 9' ćwierćfinału z Forest
MIRROR: https://streamin.link/v/ca479646
MIRROR PL: https://streamin.link/v/6891e164






Problem jest taki, że chciałbym mieć pule wątków wielkości X i wykonać Y wątków gdzie Y znacznie większe od X i tutaj zaczyna się problem. Bo wbudowane timeouty w Future / CompletionService w ogóle nie biorą pod uwagę faktu, że wątki mogą czekać w kolejce na wykonanie i timeout liczony jest od submita, a nie od faktycznego startu
Komentarz usunięty przez autora
https://docs.spring.io/spring-integration/api/org/springframework/integration/util/CallerBlocksPolicy.html
Z zerową kolejką (BlockingQueue) i tym Policy. CompletableFuture wtedy będziesz robił tak, że odpalasz taski (supplyAsync), a potem dajesz orTimeout(). Wtedy masz pewność, że task faktycznie zaczął się wykonywać, inaczej stałby zablokowany na statement z supplyAsync
To policy jest bardzo proste, więc nie musisz importować tej biblioteki, tylko copy-paste