Za szybkie uśpienie

0

Mam problem z Thread.sleep():
Mam jakiś tam kod, który coś wykonuje w kodzie jest wywołanie pewnej metody a bezpośrednio po niej wywołanie drugiej metody, która gdzieś na początku ma Thread.sleep() (po prostu musi na trochę usnąć chciałbym jakieś 3-4sekundy). Problem w tym, że zanim wykona się całość pierwszej metody ta druga zdąży już wywołać sleep. Wcześniej nie wiedziałem nawet, że takie coś jest możliwe myślałem, że komputer dopiero jak skończy z tą pierwszą metodą zabierze się za drugą.
Da się temu jakoś inaczej zapobiec niż wrzucenie wywołania drugiej metody na koniec pierwszej bo ta pierwsza wykonuje operacje graficzne nie zawsze jest ona związana z tą drugą i to trochę kłopot?

0

pokaż kod

0

W Javie wszystkie instrukcje w ramach jednego wątku są sekwencyjne. Jednak nie każdy kod w tej samej metodzie musi iść jednym wątkiem. Np. wielu początkujących nie rozróżnia, że kod klas anonimowych nie jest częścią metody, nie musi iść w tym samym wątku, albo że nawet nie będzie uruchomiony. Mimo iż sąsiaduje z kodem wykonywanym. Sleep też można traktować jak wytworzenie nowego wątku (można go anulować i przerwać), który nic nie robi określoną ilość czasu i łączy się z bieżącym wątkiem za pomocą wywołania join.

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