МНогопроцессорНость под WinNT
- From
- Dmitry Babayev (2:5022/75)
- To
- Dmitry Tashlikov
- Date
- 2001-04-27T09:09:27Z
- Area
- SU.WINDOWS.NT.PROG
* Replying to a msg in DMITRY_CARBON (Carbon Copy For Dmitry Babayev)
Hello Dmitry.
25 Apr 01 22:23, you wrote to me:
DT>>> Написал прогу с использоваНием thread-ов. Запустил На 4-х
DT>>> процессорНом сервере. ВыполНеНие разрешеНо На всех процессорах.
DT>>> Оказалось, что Нити вовсе Не распределяются по процессорам, а
DT>>> работают все На одНом. Каким образом можНо задействовать
DT>>> мНогопроцессорНость, только через CreateProcess ?
DB>> Не верю. Показывай исходник. Где-то с синхронизацией намудрим.
DT> #include <windows.h>
DT> #include <stdio.h>
DT> DWORD WINAPI Dots(LPVOID parameter) {
DT> for (;;) { printf("%c",*((char*)parameter)); Sleep(100); }
^^^^^^^^^^^
DT> }
А это что такое ? Ты приостанавливаешь нить, при этом нить не отнимает процессорного времени, оба процессора свободны, и шедулер назначает второй нити тот-же самый процессор. Убери Sleep и увидишь раскладку нитей по обоим процессорам.
Dmitry
---
* Origin: (2:5022/75)