У меня есть несколько классов java (черный ящик), которые я вызываю через jni из собственного C-кода. В моем родном коде есть 4 параллельных потока, которые должны выполняться всегда, и иногда они вызывают некоторые классы Java, но эти классы работают очень медленно. Я придерживаюсь мнения, что потоки работают на одном ядре, и использование нескольких ядер может решить мою проблему (сбой). Я хотел бы запустить среду java в фоновом режиме, 4 собственных потока кода на одном ядре, а java lasses, если вызов должен запускаться на отдельном ядре, независимо от операций собственного кода. Скажите, пожалуйста, если я на правильном пути и дайте мне знать, как я могу продолжить. Спасибо заранее.Выполнение процессов на разных ядрах
1
A
ответ
1
Вы не можете явно назначить, какое ядро выполнить ваш поток, однако вы можете назначать приоритеты и аффинности для потоков.
Возможный дубликат: this.
Смежные вопросы
- 1. Методы работы на разных ядрах на python
- 2. Выполнение одного потока на двух ядрах
- 3. Как разделить длинные задачи на разных ядрах?
- 4. C++ запускает потоки на разных ядрах
- 5. Несколько экземпляров node.js на разных ядрах
- 6. Как программировать, чтобы разные процессы выполнялись на разных ядрах процессора?
- 7. Как сила 32 обрабатывается на 32 разных ядрах?
- 8. Выполнение двух процессов на PI
- 9. Выполнение нескольких процессов
- 10. Выполнение нескольких процессов не масштабируется
- 11. Для Android RX требуется синхронное выполнение двух разных процессов
- 12. Как выполнять параллельные выполнение задач на отдельных ядрах процессора
- 13. Выполнение единичных тестов на более чем пяти ядрах параллельно
- 14. Выполнение рабочих процессов параллельно
- 15. Выполнение процессов связи
- 16. Как я могу создавать потоки на разных ядрах процессора?
- 17. Node.js child_process.fork() для запуска на разных ядрах процессора
- 18. Как обеспечить, чтобы мои потоки выполнялись на разных ядрах?
- 19. Журналы для разных процессов
- 20. Выполнение повторяющихся процессов обслуживания на LAMP
- 21. Выполнение нескольких процессов на одном динаре Heroku
- 22. Выполнение рабочих процессов на объектах отношений
- 23. Выполнение нескольких процессов C++-программы
- 24. Выполнение 100 000 процессов одновременно
- 25. последовательное выполнение фоновых процессов unix
- 26. Получение выполнения Mono Выполнение процессов
- 27. список процессов в разных тонах
- 28. Разделение процессов в разных файлах
- 29. Задача Swapper на нескольких ядрах процессора
- 30. Передача ClientConnections вокруг разных процессов
Почему вы верите, что потоки все работают на одном ядре? Операционная система автоматически выделяет потоки в зависимости от того, какие ядра процессора доступны для их запуска. Если ваши другие ядра не заняты запуском * других * CPU-интенсивных программ, ваши потоки должны автоматически запускаться одновременно на нескольких ядрах без каких-либо особых усилий с вашей стороны. – Wyzard
Кроме того, вы упомянули о сбое в качестве проблемы, которую вы хотите решить, работая на нескольких ядрах. Если программа вылетает в зависимости от того, сколько ядер она использует, это ошибка в самой программе. Предоставление ему большего количества ядер не является решением и не гарантирует, что оно не потерпит крах (даже если это будет происходить реже). Сама программа должна быть исправлена. – Wyzard
оба компонента работали хорошо по отдельности, и позже они были интегрированы для запуска одновременно, и это тот момент, когда они работают в определенной степени, а затем сбой. Считаете ли вы, что выполнение двух процессов параллельно будет, возможно, с помощью MPI? –