У меня вопрос о многопоточности в Java с многоядерным процессором. Как я знаю, когда был один основной процессор, многопоточность работала, так как каждый поток получал кусочек времени процессора для запуска, теперь у нас есть многоядерный процессор, как я предполагал, JVM также будет обновляться, чтобы получить это преимущество, не так ли ? Или это не так, и именно по этой причине fork/join framework был введен в Java 7 для многопроцессорной обработки? спасибо.Многопоточность в Java с многоядерным процессором
-2
A
ответ
1
Да, когда есть один процессор ядра, каждый поток получает кусочек времени процессора для запуска.
И да, когда есть несколько ядер, они будут распределены между ними. Но если есть больше потоков, чем ядер (включая потоки из других процессов/программ, запущенных на компьютере), они также получат только кусочек процессора.
Если у вас есть одна нить, и вы хотите создать больше, чтобы каждый из них мог выполнять часть работы, то позже вам придется присоединиться к результатам из них. Выполнение этого forking (данных от одного до многих потоков) и объединение (из данных из многих потоков в один) сложнее, чем кажется сначала, и помочь с ним - причина, по которой fork/join был введен в Java 7.
Смежные вопросы
- 1. Стресс-тест визуальной студии с многоядерным процессором
- 2. Gang scheduling в RTOS над многоядерным процессором
- 3. Какова взаимосвязь между сборкой и многоядерным процессором?
- 4. Является ли оператор C++ | = атомарным с многоядерным процессором?
- 5. nodejs & couchbase работает с многоядерным процессором и многосерверным
- 6. Многопоточный код с одноядерным процессором и однопотоковым кодом с многоядерным процессором
- 7. Многопоточность Java: sleep и currentThread методы
- 8. Многопоточность в привязке I/O к Java (или) связанная с процессором
- 9. Приложение Force C# для использования одного ядра на ПК с многоядерным процессором
- 10. AQtime не работает должным образом на Windows Vista/7 с многоядерным процессором
- 11. Планировщик потоков в Java с одним процессором?
- 12. Многопоточность с Java nanoTime
- 13. Многопоточность с Java-исполнителем
- 14. Многопоточность с разъемами JAVA
- 15. Java многопоточность
- 16. Java: многопоточность
- 17. Многопоточность Java
- 18. Многопоточность QuickSort в Java
- 19. Java многопоточность в JFrame
- 20. Java многопоточность в андроиде
- 21. Многопоточность в Java
- 22. Многопоточность в java
- 23. Многопоточность в java
- 24. Java nio: многопоточность с DirectoryStream
- 25. java многопоточность с управляемым интерфейсом
- 26. Java Многопоточность с общим списком
- 27. Java многопоточность с петлями Проблема
- 28. Параллельность в OpenCL на устройстве с одним процессором
- 29. java Многопоточность с использованием Executor
- 30. делает многопоточность улучшает производительность? сценарий java
JVM поддерживает многопоточность со своей первой версии. Fork/Join - это специализированный способ разбить проблему. Я изо всех сил пытаюсь понять, каков ваш реальный вопрос? – tddmonkey
Какой JVM? Я уверен, что большинство реализаций JVM будут использовать несколько ядер при выполнении многопоточного кода. Но это зависит от реализации. Fork/Join framework - библиотека более высокого уровня, которая использует java.lang.Thread. – Phil
Я уверен, что идея о том, какое физическое ядро работает в потоке, отвлечена самой операционной системой. Поэтому, если ваш язык поддерживает потоки вообще, то он будет поддерживать текущие потоки на нескольких ядрах, потому что он не знает –