, , , CS, , . -, .
, , , , , . , , , . , , TimedMutualExclusion. "/" , "" (semaphore throttle), :
, 4, , , , , , , . . , -. , (. ).
, . CS.
1, . SMP-.
CS , CS .
, , , , CS . , , , "" (throttle) , , , , , ReleaseSemaphore, . , , , .
|
|
, .
while (TRUE) { //
WaitForSingleObject(hThrottleSem, INFINITE);
WaitForSingleObject(hMutex, INFINITE);
ReleaseMutex(hMutex);
ReleaseSemaphore(hThrottleSem, 1, NULL);
} //
. " " , , . , , (deadlock) . ( 10.11) , , .
TimedMutualExclusion , . , . . 9.1 , CS, , 1 6. , , 4.
. 9.1.
, . Windows 2000 Intel 586 (Pentium), , 16 ( ) 0.8, 0.8, 2.3, 21.2, 28.4 29.0, . , 3 . , , , , . :
NT5 NT4, , , . 9.1.
, , , , .
, CS, NT5 , .
|
|
SMP- 1. . , Xeon 1.8 CS 1, 2 4 1.8, 33.0 31.9 . 34.0, 66.5 65.0 .
. , , -. SMP-, 1. , , , -, , .