|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.04.2012, 10:15 | #1 |
Пользователь
Регистрация: 10.12.2007
Сообщений: 23
|
Многопоточность
Хай. Кто может разъяснить про многопоточность? Есть небольшая запутанность. Меня интересует знает ли железо или ОС про многопоточность определенного процесса или процессу просто предоставляется время ЦП и сам процесс устроен таким образом, что сам переключается между своими потоками?
|
16.04.2012, 10:19 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
процессор предоставляем механизм многозадачности.
на основе этого и работает многопоточность. ОС естественно об этом знает, ведь она включает же этот механизм. и именно ОС распределяет кванты времени потокам. железу какому? проц в курсе, а остальному пофиг на самом деле, ибо железо не вызывает код напрямую. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
16.04.2012, 12:11 | #3 | |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
Программа может разруливать потоки с помощью апи ОСи. А может и сама имитировать многозадачность, ось при этом вообще может быть однозадачной.
Цитата:
|
|
16.04.2012, 12:42 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
механизм нитей, не является сильно надежным.
а вот та многозадачность что мы видим, обеспечивает сам проц, ОС лишь использует это(что логично) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
16.04.2012, 12:57 | #5 | ||
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Цитата:
Оси вообще без разницы, установлены ли несколько процессоров, либо один многоядерный процесор или одноядерный проц с hyper-threading. Цитата:
Довольно подробно эта тема описана в главе 25 "CLR via C#" Рихтера (только в 3-м издании). Последний раз редактировалось ds.Dante; 16.04.2012 в 13:04. |
||
16.04.2012, 13:01 | #6 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Цитата:
потоки простаивают, планировщик потоков не дает им квантов, потому что они в ядерном ожидании. PS: почитайте про TSS. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 16.04.2012 в 13:08. |
|||
16.04.2012, 13:26 | #7 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
в 32-разрядных Windows встроенный в процессор механизм многозадачности не используется. а на 64-разрядных системах данный механизм вообще не поддерживается
|
16.04.2012, 13:26 | #8 | ||
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
По-моему, наоборот. http://en.wikipedia.org/wiki/Computer_multitasking
Цитата:
Цитата:
Hyper-threading сохраняет одновременно два контекста потоков и переключает их на аппаратном уровне. Но это всё равно эмуляция двух процессоров. Последний раз редактировалось ds.Dante; 16.04.2012 в 13:29. |
||
16.04.2012, 13:32 | #9 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
Hyper-threading - полностью прозрачный механизм для ОС. и вообще эта технология тут ни причём
|
16.04.2012, 13:49 | #10 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
ds.Dante, естественно ктото должен этим управлять, или проц делает все по наитию?
Цитата:
Цитата:
возможно не буду спорить, с реализацией в ОС(в ядре) оно может хорошо работать. я же говорил про внутрипользовательскую реализацию, с ней уже есть напряг. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многопоточность | alex0097 | Общие вопросы Delphi | 3 | 05.05.2011 22:46 |
Многопоточность | WennY | Общие вопросы Delphi | 11 | 23.04.2011 00:46 |
многопоточность | @lenk@ | Помощь студентам | 1 | 26.10.2010 20:50 |
многопоточность | DeDoK | Общие вопросы Delphi | 6 | 01.08.2010 02:14 |
Многопоточность | JakSon | Общие вопросы Delphi | 10 | 27.12.2009 02:19 |