Описание класса 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() Строка, представляющая объект-поток |