Потоки в Java

Каково различие между потоками в Java и собственными потоками?

12
задан Amarghosh 25 February 2010 в 10:58
поделиться

2 ответа

Потоки Java могут быть реализованы любым способом, который соответствует спецификации. Спецификация не требует конкретной реализации.

Фактически все современные настольные и / или серверные JVM реализуют потоки Java как собственные потоки. Это означает, что существует ровно 1 собственный поток для каждого потока Java и что операционная система выполняет все планирование, как, например, для программы на языке C.

Некоторые старые JVM и, возможно, некоторые JVM для устройств с ограниченными ресурсами могут реализовывать потоки таким образом, чтобы количество используемых собственных потоков было меньше количества запущенных потоков Java (или, возможно, 1). Утверждается, что эти реализации реализуют так называемые «зеленые потоки». В этом случае JVM сама отвечает за переключение и планирование задач, а не за делегирование этой задачи операционной системе.

16
ответ дан 2 December 2019 в 07:21
поделиться

Это зависит от реализации JVM, конечно, но я думаю, что они одинаковы. То есть, Поток в Java реализуется через собственный поток. Вы можете ожидать/делать с потоками Java все, что вы можете с помощью собственных потоков.

5
ответ дан 2 December 2019 в 07:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: