sleep dlaczego zle

0

Dlaczego używanie sleep w/g niektórych jest złe i niewskazane? To jak zrobić wątek co by co chwilę wypisywał coś na bok do konsoli?

0

The thread does not lose ownership of any monitors.
Sleep powoduje, że wątek blokuje zasoby.
Zatem zanim uśpisz wątek musisz zadbać, by nie blokował, żadnych zasobów.

Innymi słowy, kto wywołuje sleep w bloku synchonized ten jest debilem.

0

Zaproponuj alternatywe.

0

Zawieszanie watku na jakims mutexie/monitorze ? Oddzielny watek, ktory odlicza cos (taki Timer) ?

0

Dodatkowo, jesli uzywa sie puli watkow, to sleep sprawia, ze mimo ze watek nic nie robi, to i tak nie mozna go uzyc do jakiegos innego zadania.
W wiekszosci sytuacji dobrze sprawdza sie zdefiniowanie zadania ktore ma byc wykonane po jakims czasie ( czyli np zamiast usypiac watek na 1s ustawic, ze zadanie ma byc wykonane za 1s ) i przekazac je do scheduled thread pool.

0

@dsagggggg, to zależy co chcesz zrobić. Ja bym użył klas Timer i TimerTask.

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