Описание класса Thread
В классе Thread определены три поля, несколько конструкторов и большое количество методов, предназначенных для работы с потоками.
С помощью конструкторов можно создавать потоки различными способами, указывая при необходимости для них имя и группу. Имя предназначено для идентификации потока и является необязательным атрибутом. Что же касается групп, то они предназначены для организации защиты потоков друг от друга в рамках одного приложения.
Методы класса Thread предоставляют все необходимые возможности для управления потоками, в том числе для их синхронизации.
Три статических поля предназначены для назначения приоритетов потокам.
| Поля | |
|---|---|
| int | NORM_PRIORITY Нормальный |
| int | MAX_PRIORITY Максимальный |
| int | Минимальный MIN_PRIORITY |
| Конструкторы |
|---|
| Thread() Создание нового объекта Thread |
| Thread(Runnable target) Создвание нового объекта Thread с указанием объекта, для которого будет вызываться метод run |
| Thread(Runnable target, String name) Аналогично предыдущему, но дополнительно задается имя нового объекта Thread |
| Thread(String name) Создание объекта Thread с указанием его имени |
| Thread(ThreadGroup group, Runnable target); Создание нового объекта Thread с указанием группы потока и объекта, для которого вызывается метод run |
| Thread(ThreadGroup group, Runnable target, String name) Аналогично предыдущему, но дополнительно задается имя нового объекта Thread |
| Thread(ThreadGroup group, String name) Создание нового объекта Thread с указанием группы потока и имени объекта |
| Методы | |
|---|---|
| int | activeCount() Текущее количество активных потоков в группе, к которой принадлежит поток |
| void | checkAccesss() Текущему потоку разрешается изменять объект Thread |
| int | countStackFrames() Определение количества фреймов в стеке |
| Thread | currentThread() Определение текущего работающего потока |
| void | destroy() Принудительное завершение работы потока |
| void | dumpStack() Вывод текущего содержимого стека для отладки |
| int | enumerate(Thread tarray[]) Получение всех объектов Tread данной группы |
| String | getName() Определение имени потока |
| int | getPriority() Определение текущего приоритета потока |
| ThreadGroup | getThreadGroup() Определение группы, к которой принадлежит поток |
| void | interrupt() Прерывание потока |
| boolean | interrupted() Определение, является ли поток прерванным |
| boolean | isAlive() Определение, выполняется поток или нет |
| boolean | isDaemon() Определение, является ли поток демоном |
| boolean | isInterrupted() Определение, является ли поток прерванным |
| void | join() Ожидание завершения потока |
| void | join(long millis) Ожидание завершения потока в течение заданного времени. Время задается в миллисекундах |
| void | join(long millis, int nanos) Ожидание завершения потока в течение заданного времени. Время задается в миллисекундах и наносекундах |
| void | resume() Запуск временно приостановленного потока |
| void | setDaemon(boolean on) Метод вызывается в том случае, если поток был создан как объект с интерфейсом Runnable run() |
| void | setDaemon(boolean on) Установка для потока режима демона |
| void | setName(String name) Устаовка имени потока |
| void | setPriority(int newPriority) Установка приоритета потока |
| void | sleep(long millis) Задержка потока на заднное время. Время задается в миллисекундах и наносекундах |
| void | sleep(long millis, int nanos) Задержка потока на заднное время. Время задается в миллисекундах и наносекундах |
| void | start() Запуск потока на выполнение |
| void | stop() Остановка выполнения потока |
| void | stop(Throwable obj) Аварийная остановка выполнения потока с заданным исключением |
| void | suspend() Приостановка потока |
| void | yield() Приостановка текущего потока для того чтобы управление было передано другому потоку |
| String | toString() Строка, представляющая объект-поток |
