У меня есть очень простой вопрос в моей теме о многопоточности. Если мы запустим 10 потоков за один раз, так что в одном экземпляре будет активен только один поток, и произойдет переключение между потоками или более чем один поток может работать на один экземпляр времени?Как работает многопоточность
ответ
Это зависит как от вашего оборудования, так и от вашей операционной системы. Если у вас меньше ядер, чем потоки, то ОС, вероятно, будет чередовать эти потоки, то есть каждый раз, когда один из них выполняет, например, операцию ввода-вывода, или каждый раз, когда он заканчивает свой временной срез, он переключается на другой поток.
Кроме того, каждое ядро запускает один поток выполнения. Для этого нужны несколько ядер. Обычно это смешивается с поведением времени.
Это действительно зависит от вашего процессора и дизайна программы. Если у вас есть четырехъядерный ПК, вы можете запустить 8 потоков одновременно.
Это ответ может ввести в заблуждение. Я предполагаю, что вы говорите о технологии Intel Hyper-Threading. В этом случае вы должны прочитать следующее: http://www.makeuseof.com/tag/hyperthreading-technology-explained/ – Andy
Это зависит от оборудования. Многие современные процессорные чипы включают в себя более одного процессора, и процессор сам может иметь возможность чередовать несколько потоков. У большого сервера могут быть десятки процессорных чипов. В такой системе все 10 потоков могут работать по-настоящему одновременно.
Один процессор (ядро) может даже запускать больше, чем несколько потоков, в зависимости от типа. Рассмотрим процессор UltraSPARC T2, который, например, запускает 8 потоков на процессорное ядро. – Jules
только один поток запускается одновременно. Процессор быстро переключает их. например, для рассмотреть текстовый редактор с заклинанием КАМИ ..
у типа-то будет один поток прог CHKS фр errors- вот еще один поток
теперь, если они многопоточные, весь процесс будет получить место в памяти а затем различные потоки будут выполняться одновременно
Можете ли вы перефразировать это? Сейчас это практически не имеет смысла. Также, пожалуйста, покажите, какие исследования вы сделали. Это не ваш научный сотрудник. – Gray
Если вы посмотрели конфигурацию CPU, вы увидите что-то вроде 4 Thread 2 Core. Это означает, что 4 потока во времени. Я считаю, что если вы запустите больше, чем 4 потока за раз, то это будет отложено в CLR. – Adrian
Прочтите этот http://superuser.com/questions/329904/what-are-threads-and-what-do-they-do-in-the-processor Если ваш процессор ограничен 4 потоками, тогда он не будет работать больше, чем 4 потока за один раз. – Adrian