w #java mam prostą klasę implementującą Runnable której w konstruktorze mówimy ile ma spać i w run() śpi tyle co trzeba. Zrobiłem kolekcje Kolejki - Queue która zczytuje i wykonuje w podanej kolejności obiekty tej klasy za pomocą ExecutorService I do tej pory działa, ale teraz chcę żeby w trakcie wykonywania dodawać nowe zadania na koniec kolejki i wszystko szlak trafia. //znajdzie się jakaś dobra dusza i pomoże ambitnej osobie zrozumieć into procesy (╯︵╰,)
@Porana123: @GotoFinal: no poprostu te 4 pierwsze są dodawane do ExecutorService ten while robi się 4 razy bo tyle aktualnie jest procesów, ale ten co się po sekundzie dodaje "1666" to już nie wchodzi do tego while, odkryłem w międzyczasie że są 2 kolejki jedna moja queue a druga to ta wewnątrz ExecutorService
@Fachmann: juzywaj metody poll(), robisz pętle np while tak długo aż poll() coś zwraca. Pamiętaj że poll od razu usuwa też ten element, więc daj go koniecznie do zmiennej.
@Fachmann: 1. zamien queue na jakąś blokującą, 2. pętle zamien na np. while(!Thread.currentThread().isInterrupted()){queue.take(); ...} i umiesc w nowym wątku.
w #java mam prostą klasę implementującą Runnable której w konstruktorze mówimy ile ma spać i w run() śpi tyle co trzeba.
Zrobiłem kolekcje Kolejki - Queue która zczytuje i wykonuje w podanej kolejności obiekty tej klasy za pomocą ExecutorService
I do tej pory działa, ale teraz chcę żeby w trakcie wykonywania dodawać nowe zadania na koniec kolejki i wszystko szlak trafia. //znajdzie się jakaś dobra dusza i pomoże ambitnej osobie zrozumieć into procesy (╯︵╰,)
mój gównokod http://pastebin.com/CHTjGL53
1. zamien queue na jakąś blokującą,
2. pętle zamien na np. while(!Thread.currentThread().isInterrupted()){queue.take(); ...} i umiesc w nowym wątku.