Mam sytuację, w której wiele wątków będzie sondować pojedynczy numer BlockingQueue, dzwoniąc pod numer take(). Co chcę wiedzieć, to:BlockingQueues i kolejność dostępu do wątku
Jeśli wiele wątków czeka na kolejkę, aby odebrać element, będą miały pierwszeństwo do podejmowania elementów z kolejki w kolejności, w której wykonano ich wywołania() lub czy kolejność, w której wątki usuwają rzeczy z kolejki, będzie arbitralna?
Dzięki!
Uwaga: W przeszłości pisałem własne implementacje tego typu rzeczy, ale zastanawiam się, czy implementacje BlockingQueue w Javie zrobiłyby to za mnie.
Zasadniczo każda aplikacja wielowątkowa nie powinna przyjmować żadnych założeń dotyczących kolejności wykonywania wątku. Istnieją sposoby na jego egzekwowanie, ale idea aplikacji MT polega na tym, że nie należy tego robić. – Dariusz
Interesujące pytanie, napisałem i uruchomiłem program - nie ma ustalonego porządku. – Tala
[Powiązane pytanie] (http://stackoverflow.com/questions/1301691/java-queue-implementations-which-one), które również omawia sprawiedliwość. –