
#java #programowanie
Witajcie. Mam do zrobienia program używający GUI swingowego pokazujący wyższość programów z wątkami nad bez-wątkowymi. To znaczy jeśli program będzie się wykonywać na wątkach to będzie działać szybciej.
No i wpadłem na taki pomysł aby zrobić to za pomocą progressBarów. To znaczy zrobić dwa i w przypadku wątków będą one się ładować równoczenie natomiast bez wątków najpierw jeden potem drugi.
Jednak nie umiem sprawić aby progressBary ładowały się równocześnie. Nie wiem jak to rozwiązać.
Witajcie. Mam do zrobienia program używający GUI swingowego pokazujący wyższość programów z wątkami nad bez-wątkowymi. To znaczy jeśli program będzie się wykonywać na wątkach to będzie działać szybciej.
No i wpadłem na taki pomysł aby zrobić to za pomocą progressBarów. To znaczy zrobić dwa i w przypadku wątków będą one się ładować równoczenie natomiast bez wątków najpierw jeden potem drugi.
Jednak nie umiem sprawić aby progressBary ładowały się równocześnie. Nie wiem jak to rozwiązać.
- Najlepsze
- Wszystkie komentarze
konto usunięte
@MlodyInformatyk: A nie lepiej pokazać po prostu, że jak masz obliczenia i GUI w jednym wątku to wszystko się będzie blokowało na czas obliczeń, a jak wydzielisz obliczenia do osobnego wątku to będą się wykonywały w tle?

MlodyInformatyk Autor
@labadzak: No właściwie można. A jakie obliczenia można robić żeby dostatecznie zwiesić program?
konto usunięte
@MlodyInformatyk: Cokolwiek, choćby pętlę od 1 do 1000000 z inkrementacją jakiejś zmiennej. Albo po prostu Thread.sleep(5000) ( ͡º ͜ʖ͡º)

MlodyInformatyk Autor
@labadzak: Musiałbym chyba stworzyć wtedy 2 klasy wątków. Jeden który wpisuje imie do labela a drugi który robi obliczenia. Czyli miałbym 3 klasy: main, WatekImie i WatekObliczenia. Zgadza sie?
konto usunięte
@MlodyInformatyk: Nie do końca rozumiem Twój pomysł, ale tak zupełnie najprościej: Zrób okienko w którym masz 2 buttony. Zrób sobie klasę która rozszerza interfejs Runnable i do metody run() wrzuć jakąś długo wykonującą się metodę. Potem do kliknięcia jednego buttona przypisz wywołanie metody run() dla Twojej klasy, a do kliknięcia drugiego wywołanie metody start dla obiektu klasy Thread który opakowuje Twój Runnable. Wtedy po kliknięciu pierwszego okienko powinno się zwiesić,
nuker92
@MlodyInformatyk: Możesz nawet stoper/sekundnik/minutnik zrobić aby coś takiego pokazać. Jeśli będzie się czas aktualizował, to nie będzie się dało kliknąć w przycisk stop. W wersji 2 wątkowej wszystko będzie śmigało bez problemu.






