Учебники

Java.lang.Thread Class

Класс java.lang.Thread – это поток выполнения в программе. Виртуальная машина Java позволяет приложению иметь несколько потоков выполнения, запущенных одновременно. Ниже приводятся важные замечания о потоке:

  • Каждый поток имеет приоритет. Потоки с более высоким приоритетом выполняются предпочтительнее потоков с более низким приоритетом

  • Каждый поток может быть или не быть также помечен как демон.

  • Есть два способа создать новый поток выполнения. Один из них – объявить класс подклассом Thread и,

  • Другой способ создать поток – объявить класс, реализующий интерфейс Runnable.

Каждый поток имеет приоритет. Потоки с более высоким приоритетом выполняются предпочтительнее потоков с более низким приоритетом

Каждый поток может быть или не быть также помечен как демон.

Есть два способа создать новый поток выполнения. Один из них – объявить класс подклассом Thread и,

Другой способ создать поток – объявить класс, реализующий интерфейс Runnable.

Декларация класса

Ниже приводится объявление для класса java.lang.Thread

public class Thread
   extends Object
      implements Runnable

поле

Ниже приведены поля для класса java.lang.Thread

  • static int MAX_PRIORITY – это максимальный приоритет, который может иметь поток.

  • static int NORM_PRIORITY – это приоритет по умолчанию, назначенный потоку.

static int MAX_PRIORITY – это максимальный приоритет, который может иметь поток.

static int NORM_PRIORITY – это приоритет по умолчанию, назначенный потоку.

Конструкторы классов

Sr.No. Конструктор и описание
1

Нить()

Это выделяет новый объект Thread.

2

Thread (Runnable target)

Это выделяет новый объект Thread.

3

Thread (Runnable target, String name)

Это выделяет новый объект Thread.

4

Тема (строковое имя)

Эта конструкция выделяет новый объект Thread.

5

Thread (группа ThreadGroup, цель Runnable)

Это выделяет новый объект Thread.

6

Thread (группа ThreadGroup, цель Runnable, имя строки)

Это распределяет новый объект Thread так, чтобы он имел цель в качестве своего объекта run, имел указанное имя в качестве имени и принадлежал к группе потоков, на которую ссылается группа.

7

Thread (группа ThreadGroup, цель Runnable, имя строки, длинный stackSize)

При этом выделяется новый объект Thread, так что в качестве объекта выполнения он использует target, в качестве имени имеет указанное имя, принадлежит к группе потоков, на которую ссылается группа, и имеет указанный размер стека.

8

Тема (группа ThreadGroup, имя строки)

Это выделяет новый объект Thread.

Нить()

Это выделяет новый объект Thread.

Thread (Runnable target)

Это выделяет новый объект Thread.

Thread (Runnable target, String name)

Это выделяет новый объект Thread.

Тема (строковое имя)

Эта конструкция выделяет новый объект Thread.

Thread (группа ThreadGroup, цель Runnable)

Это выделяет новый объект Thread.

Thread (группа ThreadGroup, цель Runnable, имя строки)

Это распределяет новый объект Thread так, чтобы он имел цель в качестве своего объекта run, имел указанное имя в качестве имени и принадлежал к группе потоков, на которую ссылается группа.

Thread (группа ThreadGroup, цель Runnable, имя строки, длинный stackSize)

При этом выделяется новый объект Thread, так что в качестве объекта выполнения он использует target, в качестве имени имеет указанное имя, принадлежит к группе потоков, на которую ссылается группа, и имеет указанный размер стека.

Тема (группа ThreadGroup, имя строки)

Это выделяет новый объект Thread.

Методы класса

Sr.No. Метод и описание
1 static int activeCount ()

Этот метод возвращает количество активных потоков в группе потоков текущего потока.

2 void checkAccess ()

Этот метод определяет, имеет ли текущий запущенный поток разрешение на изменение этого потока.

3

клон защищенного объекта ()

Этот метод возвращает клон, если класс этого объекта является Cloneable.

4 статический поток currentThread ()

Этот метод возвращает ссылку на текущий выполняющийся объект потока.

5 статическая пустота dumpStack ()

Этот метод печатает трассировку стека текущего потока в стандартный поток ошибок.

6 static int enumerate (Thread [] tarray)

Этот метод копирует в указанный массив каждый активный поток в группе потоков текущего потока и его подгруппах.

7 статическая карта <Thread, StackTraceElement []> getAllStackTraces ()

Этот метод возвращает карту трассировки стека для всех активных потоков.

8 ClassLoader getContextClassLoader ()

Этот метод возвращает контекст ClassLoader для этого потока.

9 static Thread.UncaughtExceptionHandler getDefaultUncaughtExceptionHandler ()

Этот метод возвращает обработчик по умолчанию, вызванный, когда поток внезапно завершается из-за необработанного исключения.

10 long getId ()

Этот метод возвращает идентификатор этой темы.

11 Строка getName ()

Этот метод возвращает имя этого потока.

12 int getPriority ()

Этот метод возвращает приоритет этого потока.

13 StackTraceElement [] getStackTrace ()

Этот метод возвращает массив элементов трассировки стека, представляющих дамп стека этого потока.

14 Thread.State getState ()

Этот метод возвращает состояние этого потока.

15 ThreadGroup getThreadGroup ()

Этот метод возвращает группу потоков, к которой принадлежит этот поток.

16 Thread.UncaughtExceptionHandler getUncaughtExceptionHandler ()

Этот метод возвращает обработчик, вызванный, когда этот поток внезапно завершается из-за необработанного исключения.

17 статическое логическое значение holdLock (Object obj)

Этот метод возвращает true тогда и только тогда, когда текущий поток удерживает блокировку монитора для указанного объекта.

18 void interrupt ()

Этот метод прерывает этот поток.

19 статическое логическое прерывание ()

Этот метод проверяет, был ли текущий поток прерван.

20 логическое isAlive ()

Этот метод проверяет, жив ли этот поток.

21 логическое isDaemon ()

Этот метод проверяет, является ли этот поток потоком демона.

22 логическое значение isInterrupted ()

Этот метод проверяет, был ли прерван этот поток.

23 void join ()

Ожидание этой нити, чтобы умереть.

24 void join (длинный миллис)

Ожидает не более миллисекунды, пока эта нить не исчезнет.

25 void join (long millis, int nanos)

Ожидание не более миллисекунды плюс наносекунда наносекунды, чтобы эта нить умерла.

26 void run ()

Если этот поток был создан с использованием отдельного объекта Runnable, вызывается метод run этого объекта Runnable; в противном случае этот метод ничего не делает и возвращает

27 void setContextClassLoader (ClassLoader cl)

Этот метод устанавливает контекст ClassLoader для этого потока.

28 void setDaemon (логическое значение включено)

Этот метод помечает этот поток как поток демона или поток пользователя.

29 static void setDefaultUncaughtExceptionHandler (Thread.UncaughtExceptionHandler eh)

Этот метод устанавливает обработчик по умолчанию, вызываемый, когда поток внезапно завершается из-за необработанного исключения, и никакой другой обработчик не был определен для этого потока.

30 void setName (String name)

Этот метод изменяет имя этого потока, чтобы быть равным имени аргумента.

31 void setPriority (int newPriority)

Этот метод изменяет приоритет этой темы.

32 void setUncaughtExceptionHandler (Thread.UncaughtExceptionHandler eh)

Этот метод устанавливает обработчик, вызываемый, когда этот поток внезапно завершается из-за необработанного исключения.

33 статический бессильный сон (длинный миллис)

Этот метод приводит к тому, что выполняющийся в данный момент поток спит (временно прекращает выполнение) в течение указанного количества миллисекунд, в зависимости от точности и точности системных таймеров и планировщиков.

34 статический бессильный сон (длинный миллис, int nanos)

Этот метод приводит к тому, что выполняющийся в данный момент поток находится в спящем режиме (прекращает выполнение) в течение указанного количества миллисекунд плюс указанное количество наносекунд, в зависимости от точности и точности системных таймеров и планировщиков.

35 void start ()

Этот метод заставляет этот поток начать выполнение; виртуальная машина Java вызывает метод run этого потока.

36 Строка toString ()

Этот метод возвращает строковое представление этого потока, включая имя потока, приоритет и группу потоков.

37 статическая пустота ()

Этот метод заставляет текущий выполняющийся объект потока временно приостановить и позволить другим потокам выполняться.

Этот метод возвращает количество активных потоков в группе потоков текущего потока.

Этот метод определяет, имеет ли текущий запущенный поток разрешение на изменение этого потока.

клон защищенного объекта ()

Этот метод возвращает клон, если класс этого объекта является Cloneable.

Этот метод возвращает ссылку на текущий выполняющийся объект потока.

Этот метод печатает трассировку стека текущего потока в стандартный поток ошибок.

Этот метод копирует в указанный массив каждый активный поток в группе потоков текущего потока и его подгруппах.

Этот метод возвращает карту трассировки стека для всех активных потоков.

Этот метод возвращает контекст ClassLoader для этого потока.

Этот метод возвращает обработчик по умолчанию, вызванный, когда поток внезапно завершается из-за необработанного исключения.

Этот метод возвращает идентификатор этой темы.

Этот метод возвращает имя этого потока.

Этот метод возвращает приоритет этого потока.

Этот метод возвращает массив элементов трассировки стека, представляющих дамп стека этого потока.

Этот метод возвращает состояние этого потока.

Этот метод возвращает группу потоков, к которой принадлежит этот поток.

Этот метод возвращает обработчик, вызванный, когда этот поток внезапно завершается из-за необработанного исключения.

Этот метод возвращает true тогда и только тогда, когда текущий поток удерживает блокировку монитора для указанного объекта.

Этот метод прерывает этот поток.

Этот метод проверяет, был ли текущий поток прерван.

Этот метод проверяет, жив ли этот поток.

Этот метод проверяет, является ли этот поток потоком демона.

Этот метод проверяет, был ли прерван этот поток.

Ожидание этой нити, чтобы умереть.

Ожидает не более миллисекунды, пока эта нить не исчезнет.

Ожидание не более миллисекунды плюс наносекунда наносекунды, чтобы эта нить умерла.

Если этот поток был создан с использованием отдельного объекта Runnable, вызывается метод run этого объекта Runnable; в противном случае этот метод ничего не делает и возвращает

Этот метод устанавливает контекст ClassLoader для этого потока.

Этот метод помечает этот поток как поток демона или поток пользователя.

Этот метод устанавливает обработчик по умолчанию, вызываемый, когда поток внезапно завершается из-за необработанного исключения, и никакой другой обработчик не был определен для этого потока.

Этот метод изменяет имя этого потока, чтобы быть равным имени аргумента.

Этот метод изменяет приоритет этой темы.

Этот метод устанавливает обработчик, вызываемый, когда этот поток внезапно завершается из-за необработанного исключения.

Этот метод приводит к тому, что выполняющийся в данный момент поток спит (временно прекращает выполнение) в течение указанного количества миллисекунд, в зависимости от точности и точности системных таймеров и планировщиков.

Этот метод приводит к тому, что выполняющийся в данный момент поток находится в спящем режиме (прекращает выполнение) в течение указанного количества миллисекунд плюс указанное количество наносекунд, в зависимости от точности и точности системных таймеров и планировщиков.

Этот метод заставляет этот поток начать выполнение; виртуальная машина Java вызывает метод run этого потока.

Этот метод возвращает строковое представление этого потока, включая имя потока, приоритет и группу потоков.

Этот метод заставляет текущий выполняющийся объект потока временно приостановить и позволить другим потокам выполняться.

Методы унаследованы

Этот класс наследует методы от следующих классов –