Witam,
zastanawiam się jak poinformować o postępie wykonywania programu jednowątkowego.
W mojej formatce na dole dodałem jLabel i w kodzie dodałem zmianę tekstu tego jLabela.
Problem mam z tym, że nowy tekst nie pojawia się w tym momencie co bym chciał.
Kombinowałem z jProgressBar'em , ale on też zachowuje się tak samo.
pozdrawiam,
rhymie
informowanie o postępie
Re: informowanie o postępie
Witam,
Prawdopodobnie problem polega na tym, że nie używa Pan tego co przedstawiłem w ostatniej lekcji Video Kursu - Java - Aspekty Zaawansowane.
Jak chce Pan synchronizować tylko jeden wątek? Wydaje mi się, że potrzebne są dwa.
Pozdrawiam,
Arkadiusz
Prawdopodobnie problem polega na tym, że nie używa Pan tego co przedstawiłem w ostatniej lekcji Video Kursu - Java - Aspekty Zaawansowane.
Jak chce Pan synchronizować tylko jeden wątek? Wydaje mi się, że potrzebne są dwa.
Pozdrawiam,
Arkadiusz
Re: informowanie o postępie
ok, to niech będą dwa wątki.
jeden wątek to wątek informacyjny, a drugi to nasz właściwy program.
Zakładając że schematycznie program powinien działać tak:
watek2.start
watek1.start
---
watek1:jakis kod
watek1.wait
watek2: informacja o postępie
watek2.wait
itd
Jak ustawić żeby wątek informacyjny zaczął się (watek.start) jako pierwszy ? bo rozumie nie ustawia się tego poprzez priorytety wątków (wg. lekcji 9), a kolejność ustawienia watek.start też nie ma znaczenia.
A może możliwe jest ustawienie watek.start gdzieś indziej w programie a nie w metodzie main ? i czy ewentualnie ma to sens ?
pozdrawiam,
rhymie
jeden wątek to wątek informacyjny, a drugi to nasz właściwy program.
Zakładając że schematycznie program powinien działać tak:
watek2.start
watek1.start
---
watek1:jakis kod
watek1.wait
watek2: informacja o postępie
watek2.wait
itd
Jak ustawić żeby wątek informacyjny zaczął się (watek.start) jako pierwszy ? bo rozumie nie ustawia się tego poprzez priorytety wątków (wg. lekcji 9), a kolejność ustawienia watek.start też nie ma znaczenia.
A może możliwe jest ustawienie watek.start gdzieś indziej w programie a nie w metodzie main ? i czy ewentualnie ma to sens ?
pozdrawiam,
rhymie
Re: informowanie o postępie
Najprościej to użyj metody join(), albo zablokuj wykonywanie wątku głównego dopóki nie zareaguje wątek informacyjny, oczywiście jeżeli korzystasz z pakietu Swing to warto użyć dodatkowo EventQueue.