/ / W czasie wykonywania tylko jednego wątku, jak wykonać wiele zadań jednocześnie? - Java, wielowątkowość

Na raz wykonywany jest tylko jeden wątek, jak wykonywać jednocześnie wiele zadań? - Java, wielowątkowość

Kliknij http://www.javatpoint.com/sleep()-method

Samouczek mówi tylko, gdy wątek jest uśpiony, inny wątek zostanie pobrany przez program do planowania wątków. Czyli tylko jeden wątek działa za każdym razem?

Odpowiedzi:

3 dla odpowiedzi № 1

W systemie z wieloma rdzeniami oba wątki zaczynają się mniej więcej w tym samym czasie (w zależności od tego, ile czasu zajmuje utworzenie wątku).

Efekt snu może się skończyć„synchronizowanie” wątków, aby oba wątki działały i / lub śpiły w tym samym (lub prawie tym samym) czasie (zależnie od systemu operacyjnego). „Synchronizacja” miałaby miejsce, gdyby oba wątki zostały uruchomione w ramach jednego tykania zegara systemowego od siebie. W systemie Windows czasomierz zwykle działa z częstotliwością 64 Hz lub 15.625 ms na tyknięcie, więc oba wątki wychodzą ze stanu uśpienia co 32 tyknięcia timera (500 ms) na tym samym tyknięciu.

Podczas snu system operacyjny może uruchamiać inne wątkiten sam rdzeń, co nić, która spała. W takim przypadku, chyba że system ma tylko jeden rdzeń (i nie ma hipertekstu), dwa wątki działają jednocześnie.

Zakładam, że System.out.println (i) jest bezpieczny dla wielu wątków (tak, że dwie instancje jednocześnie z dwóch wątków nie powodują problemu).