Если есть, то какое отношение?Есть ли какое-либо отношение между процессором и потоками?
ответ
Один процессор (ядро) может запускать только один поток одновременно.
Если у вас больше потоков, чем у процессоров, они будут запланированы с использованием какого-то алгоритма сокращения времени.
Нить - это единица работы, назначенная ядру процессора.
В любой момент любая нить либо приостановлена (не работает), либо работает на одном сердечнике. Каждое ядро либо бездействует (не работает нить), либо работает ровно по одному потоку.
Назначение потоков для ядер является заданием планировщика операционной системы.
Один поток может управляться процессором за раз, поэтому, когда вы создаете многопоточное приложение, можно использовать концепцию двухъядерного или многоядерного ядра для параллельной обработки ваших программных модулей.
Подумайте о процессоре как о человеке и о потоке как о единственной задаче, которую должен выполнить человек.
Например, если один человек пытается мыть посуду, готовьте завтрак, наденьте одежду на детей и убедитесь, что кошка не ела собачью пищу, этот человек должен быстро переключаться между задачами, чтобы иметь некоторый прогресс по всем задачам, казалось бы, в одно и то же время.
Но этот человек может делать только одну вещь за раз.
Revisit 2013: Обратите внимание, что вышеуказанное не обязательно верно. Прежде всего, один «процессор» теперь имеет несколько ядер, каждый из которых способен выполнять несколько операций одновременно с конвейерами, а что нет. Это гораздо более сложный мир, чем просто «один процессор может делать только одно за раз».
Есть возможно кратно соотношение, в зависимости от архитектуры системы:
- для одного случая процессора, соотношение равно 1: N (где N есть число нитей). Все будет работать на этом одиночном процессоре
- для многопроцессорного/многоядерного/гиперпотокового корпуса, отношение приблизительно равно P: N (где P - количество процессоров), однако, поток потока становится «многомерным», проблема планирования.
планировщик потоков вашей операционной системы будет прилагать усилия для распространения нитей среди доступных блоков обработки, на основе характеристик времени выполнения (используемых циклов центрального процессора, blockedness), предпочтения пользователей (сродства, нитками (ов), где предлагается активное окно) и другие свойства.
Например, если у вас есть 1 интенсивный вычислительный поток и 10 потоков ввода-вывода с большим количеством ожиданий, планировщик ОС, скорее всего, назначит T1-P1 и T2-T11 на P2 и отключит остальные ядра для энергосбережение и перераспределение кеша в пользу P1. T1 станет всем ядром для его использования и не будет вытесняться T2-T11.
- 1. отношение между асинхронными рабочими потоками в F # и асинхронном программировании
- 2. Разница между ядром и процессором?
- 3. Есть ли какое-либо отношение между SaveTokens и PostLogoutRedirectUris?
- 4. Отличие между потоками Java и потоками ОС?
- 5. Передача данных между процессором и графическим процессором в текстурах
- 6. В чем разница между процессором и графическим процессором?
- 7. Разница между несинхронизированными потоками и синхронизированными потоками
- 8. Разница между потоками SwingUtilities и потоками AWT.EventQueue
- 9. Какова взаимосвязь между сборкой и многоядерным процессором?
- 10. Есть ли утечка памяти между двумя потоками (буферизация, опорожнение)
- 11. Является ли связь между процессором и периферийными устройствами, посредниками MMU
- 12. Task.Factory и связь между потоками
- 13. различия между процессором и gpu (графика)
- 14. В чем разница между процессором и чипсетом?
- 15. Отношение Apache Kafka между перегородкой и потоком
- 16. Связь между потоками между производителями и потребителями
- 17. Отношение между машинописью и ES6
- 18. Отношение между набором и графом
- 19. Многопоточный код с одноядерным процессором и однопотоковым кодом с многоядерным процессором
- 20. Есть ли список Java-классов с потоками?
- 21. Связь между несколькими потоками
- 22. Может ли подготовленные заявления делиться между потоками?
- 23. Связаны ли статические переменные между потоками?
- 24. Есть ли превенция с потоками пользовательского уровня
- 25. Обмен потоками между процессами?
- 26. Требуется ли AtomicReference для видимости между потоками?
- 27. Есть ли разница между $ @ и "$ @"?
- 28. Связь между двумя потоками
- 29. Synchronized ArrayList между потоками
- 30. Являются ли указатели разделяемыми между потоками?
это звучит как домашнее задание. что этот вопрос отсутствует, это простой термин «Объяснить» или «Объяснить в предоставленном пространстве». – akf
Если я сделаю неплохой вопрос, это будет звучать как домашнее задание ??? – Johanna