2010-02-24 4 views
1

У меня есть сомнениеКонцепции нитей в Java

В штатном состоянии имеется 10 различных потоков. Каждый из них имеет приоритет 1-10. Как процессор планирует или выполняет эти потоки?

Спасибо, Ravi

ответ

0

У ОС есть планировщик потоков, который будет (с использованием алгоритма) решать на основе приоритета и нескольких других факторов, которые будут выполняться дальше. Если у вас многоядерная система, каждый процессор может взять поток для своей учетной записи.

Существует также тот факт, что поток получает слот времени, а затем отключается для другого потока и должен снова ждать его поворота.

Но планирование потоков - это функция операционной системы.

Надеюсь, это даст вам ответ на ваш вопрос.

1

реализации Mainstream Java использовать «родные темы», что означает, что планирование потоков осуществляется с помощью операционной системы. Приоритеты Java-потоков simply map to OS-specific values. Вы должны прочитать документацию по ОС, чтобы понять, что означают эти уровни. :-)

+0

Я не верю, что это всегда правда. Я считаю, что Java может эмулировать собственные потоки, если они не существуют на платформе. –

+0

Это не всегда, случай, вы правы: до 1.2 версии JDK использовались зеленые потоки, IIRC. Но, в основном, JVMs используют собственные потоки в настоящее время, и, на мой взгляд, не полезно говорить о реализации «зеленых нитей». –

+0

Java использует собственный поток, когда это возможно, не все реализации имеют собственный поток, а некоторые используют «зеленые» потоки. – OscarRyz

3

С каких это пор это место заменило Google?

поиск Google для планирования потоков Java, первый результат:

http://lass.cs.umass.edu/~shenoy/courses/fall01/labs/talab2.html

+0

+1, это кто-то другой, чем коллеги, задающие вопросы лично, прежде чем искать себя? –

+0

Большинство запросов не так-то просто. Это были простые ключевые слова и первый ответ. Как ни странно, это было довольно интересно и вдавалось в хороший уровень детализации - кто-то заинтересован, вероятно, должен его прочитать. –

+0

Проблема с Google заключается в том, что если вы не знаете точно, какие условия для поиска, результаты не очень полезны. Сравните результаты поиска: «Концепция потоков в Java» и «Планирование потоков Java». Задача в StackOverflow даст лучшие результаты, потому что на другом конце есть человек (даже когда он просто предоставляет ссылку, возвращенную gooogle) – OscarRyz

0

Стоит отметить, что окна игнорирует поднятый приоритеты, если вы не администратор, а на Linux все приоритеты игнорируются, если вы не корень.

Как правило, игра с приоритетами потоков не очень полезна.

Смежные вопросы