Описание класса Thread в Java

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


Опубликовал admin
29 Окт, Пятница 2004г.



Программирование для чайников.