РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1003 of 1163 menu

Метод getId

Метод getId класса Thread возвращает уникальный идентификатор потока в виде числа типа long. Идентификатор присваивается потоку при его создании и остаётся неизменным на протяжении всего жизненного цикла потока. Метод не принимает параметров. Значение идентификатора уникально для каждого потока в пределах одного запуска JVM.

Идентификаторы могут переиспользоваться после завершения потока, поэтому не стоит полагаться на них как на глобально уникальные во времени.

Синтаксис

thread.getId()

Пример

Давайте получим идентификатор главного потока программы:

public class Main { public static void main(String[] args) { Thread thread = Thread.currentThread(); System.out.println(thread.getId()); } }

Результат выполнения кода:

1

Пример

Давайте создадим новый поток и выведем его идентификатор вместе с идентификатором главного потока:

public class Main { public static void main(String[] args) { Thread mainThread = Thread.currentThread(); Thread newThread = new Thread(() -> { System.out.println("New thread id: " + Thread.currentThread().getId()); }); newThread.start(); System.out.println("Main thread id: " + mainThread.getId()); } }

Результат выполнения кода:

Main thread id: 1 New thread id: 21

Пример

Давайте сравним идентификаторы двух разных потоков, чтобы убедиться, что они различаются:

public class Main { public static void main(String[] args) { Thread first = new Thread(() -> {}); Thread second = new Thread(() -> {}); long firstId = first.getId(); long secondId = second.getId(); System.out.println("First id: " + firstId); System.out.println("Second id: " + secondId); System.out.println("Ids are equal: " + (firstId == secondId)); } }

Результат выполнения кода:

First id: 21 Second id: 22 Ids are equal: false

Смотрите также

  • метод getName,
    который возвращает имя потока
  • метод currentThread,
    который возвращает текущий поток
  • метод isAlive,
    который проверяет, жив ли поток
  • класс Thread,
    который представляет поток выполнения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить