Przejęcie zadań wątku.

0

Witam, część polecenia mojego zadania brzmi:

"Po upływie sekundy zatrzymać wątek i uruchomić go w nowym." Nie bardzo wiem jak to zrobić. Mógłby ktoś dać zarys?

0

Z tego co zrozumiałem:

  1. Masz wątek główny.
  2. Masz wątek A odpalony w wątku głównym.

To, co powinieneś zrobić to:

  1. Uruchomić w wątku głównym wątek A a potem B.
  2. Wątek B po sekundzie wyłącza wątek A, a następnie uruchamia go ponownie.

Czyli najlepiej to mieć dwa Runnable z funkcją halt():

 
public class ExRunnable implements Runnable {
	
	private boolean running = false;

	public void run(){
		this.running = true;
		while(running){
			// do something
		}
	}

	public void halt(){
		this.running = false;
	}
}

I z wątku B wywołać runnableA.halt(), a potem - w zależności od potrzeb - stworzyć nowy wątek, ewentualnie puścić runnableA.run() - nie wiem, jak to miałoby wyglądać bo z opisu niewiele wynika

0

Kod pokazałbym Ci na jakimś komunikatorze, ew we wiadomości prywatnej, gdyż wiele osób ze studiów ma to samo zadanie i nie chce, żeby ktoś na mojej pracy się wzorował.

1 użytkowników online, w tym zalogowanych: 0, gości: 1