Oświadczam, że czytam o wątku, ale nigdy go nie użyłem. Więc pytam się ciebie :)Jak wstrzymać, a następnie wznowić wątek?
Mam dwie wątek: A
i B
, gdzie A
zarządza GUI i B
zarządza logiki.
Zacznę od A
.
Następnie, gdy A
narysuje GUI, przerywam go, aby czekać B
, który osiągnie punkt X w metodzie run.
A kiedy B
osiągnie punkt X do metody uruchamiania, zatrzymuję się na B
i wznawiam A
.
A
i B
akcji niektóre zmienna zarządzania GUI i logiki ...
Czy mogę to zrobić? jeśli tak, w jaki sposób? :)
Tak, możesz to zrobić. Jest to podstawowe ćwiczenie wątków. Spróbuj to zrobić, jeśli Ci się nie uda, jesteśmy tu, by Ci pomóc :) – Maroun
Cała idea posiadania wielu wątków polega na tym, że nie musisz wyraźnie pauzować/plonować/etc z nimi, ponieważ wiele wątków działa jednocześnie będą one dać kawałek czasu procesora w uczciwy, zrównoważony sposób. (W szczególności powinieneś próbować nigdy nie wstrzymywać wątku GUI, aby GUI zawsze reagowało) Tak, możesz to zrobić, ale nie sądzę, że musisz. – Patashu
Tylko notatkę. Swing to środowisko z pojedynczym wątkiem, co oznacza, że wszystkie interakcje i modyfikacje któregokolwiek z elementów interfejsu użytkownika muszą być dokonywane w kontekście wątku Dispatch Dispatching. Swing nie jest bezpieczny dla wątków, co oznacza, że nigdy nie powinieneś próbować dostępu, aktualizować ani tworzyć żadnych elementów interfejsu użytkownika z dowolnego wątku innego niż EDT ... zakładaj, że używasz Swing, który jest – MadProgrammer