Я знаю, что Threads могут иметь приоритет от MIN_PRIORITY (1) до MAX_PRIORITY (10). Однако, если у меня есть более 10 потоков для выполнения, как я буду назначать им приоритет? Может ли приоритет быть более 10?Приоритет потоков для более чем 10 потоков в JAVA
ответ
Однако, если у меня есть более 10 потоков для выполнения, как назначить [другой] приоритет [каждому из них]?
Вы не можете.
Но это не должно иметь значения. Скорее всего, приоритеты потоков будут в любом случае вызывать серьезную приоритизацию. Разумеется, javadocs не дает никаких серьезных гарантий относительно того, как (или даже если) приоритеты потоков влияют на планирование потоков.
Фактическая реализация планирования потоков и приоритетов потоков на современной JVM выполняется планировщиком потоков операционной системы. Приоритеты Java Thread
действительно немного больше, чем «намек» на операционную систему.
Суть в том, что приложение Java, которое полагается на приоритеты потоков для правильного поведения, скорее всего, будет ненадежным и будет вести себя по-другому/неправильно, если будет работать на другой платформе, к той, которую вы первоначально разработали/отлаживали. Вы никогда не должны полагаться на приоритеты для правильного поведения. Используйте примитивы синхронизации, обеспечивающие, чтобы все происходило в необходимом порядке.
Если вам необходимо точное поведение приоритетов потоков, вам нужно будет использовать «в режиме реального времени Java» JVM, работающие на вершине «операционной системы в режиме реального времени».
документация Javadoc гласит следующее о setPriority(int)
Броски:
IllegalArgumentException - Если приоритет не в диапазоне MIN_PRIORITY до MAX_PRIORITY.
В зависимости от реализации вам необходимо указать соответствующее значение. Вы не сможете установить более точный приоритет с помощью Thread
.
no u не может назначить приоритет, который выше 10, так как u имеет максимальный приоритет 10 и минимальный приоритет равен 1 .. даже если при присвоении приоритета выше 10 его можно рассматривать как приоритет по умолчанию и программа начинает работать в соответствии с этим приоритетом.
- 1. Приоритет потоков.
- 2. Приоритет настройки параллельных потоков/зависимостей Azkaban
- 3. Установить приоритет групп потоков PPL
- 4. Передача приоритетов потоков пулам потоков
- 5. Отображение потоков в VS 10
- 6. Java много потоков для многих потоков отношение
- 7. Процессы Java против потоков для привязки потоков
- 8. Число потоков рабочих потоков Java
- 9. Рекурсивное добавление потоков в пул потоков Java
- 10. SwingWorker потоков в Java
- 11. Java многопоточность - 6 потоков или 30 потоков?
- 12. Планирование потоков Java: более занятые потоки ожидания, чем процессоры?
- 13. Более 150 активных потоков в приложении Java
- 14. Более двух потоков подряд?
- 15. Приоритет нижней нити C# в пуле потоков
- 16. Закрытие потоков в Java
- 17. Инициализация потоков в Java
- 18. Уменьшить приоритет потоков/процессов сборки maven
- 19. Java. Порядок выполнения потоков
- 20. Проблемы параллелизма потоков java
- 21. Синхронизация потоков в Java
- 22. Запуск не более n потоков Java
- 23. приоритеты потоков ядра и приоритеты пользовательских потоков
- 24. Использование 10 потоков для обработки массива
- 25. Понимание потоков в java
- 26. Производительность ухудшается для более чем двух потоков на Xeon X5355
- 27. Программа Cuda не работает более чем для 1024 потоков
- 28. потоков в Java
- 29. JAVA - сделать 10 потоков одновременно, чтобы увеличить счетчик 1-10
- 30. Пул потоков Java ExecutorService: порядок выполнения потоков
Это не отношение 1: 1. Это (относительный) приоритет. И даже тогда нет никаких гарантий. –