Page 237 - 6571
P. 237

Таблиця 2.1 – Значення, що повертаються методом getState()
                        Значення                                        Стан

                      State.NEW                   Потік ще не розпочав виконання
                                                  Потік в даний час виконується або поч-
                  State.RUNNABLE                  не  виконуватися,  коли  отримає  доступ

                                                  до процесора
                                                  Потік призупинив виконання на певний
                                                  проміжок часу, наприклад, після викли-
             State.TIMED_WAITING  ку  методу  sleep().  Потік  переходить
                                                  також в даний стан при виклику методу
                                                  wait() або join()

                                                  Потік  призупинив  виконання,  оскільки
                                                  він очікує на певну дію. Наприклад, ви-
                   State.WAITING
                                                  клик  методів  wait()  або  join(), які

                                                  виводять потік із стану очікування
                                                  Потік  призупинив  виконання,  оскільки
                   State.BLOCKED
                                                  очікує отримання блокування
                State.TERMINATED                  Потік закінчив виконання






















             Рисунок 2.1 – Зв’язки між станами в яких може перебувати потік

                  Оскільки стан потоку може змінитися після виклику методу

            getState(), то в залежності від обставин, стан, отриманий при
            виклику методу getState(), за короткий проміжок часу (квант

            часу) може не відображати фактичний стан потоку. З цієї та ін-
            ших причин метод getState() не призначений для керування
            синхронізацією  потоків.  Він,  насамперед,  використовується  при

            налагодженні  або  для  профілювання  характеристик  потоку  під
            час виконання.


                                                        236
   232   233   234   235   236   237   238   239   240   241   242