ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ ΡΠ΅ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠΎΠ»Π±ΡΠ°Ρ ΡΠ°Π±Π». Π.5.
Π’Π°Π±Π»ΠΈΡΠ° Π.5. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ Π½Π° ΡΠ΅ΡΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅
Π-Π²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°Ρ.ΠΌΠΎΠ΄Π΅Π»Ρ Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°Ρ.ΠΌΠΎΠ΄Π΅Π»Ρ Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°Ρ. ΠΌΠΎΠ΄Π΅Π»Ρ Π‘ΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π‘ΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π‘ΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Mtx, Evt CritSec, Evt Mtx, Evt Mtx, Evt CritSec, Evt Mtx, Evt Π’/Π 5ΠΌΡ Π’/Π 25ΠΌΡ SigObjWait Π’/Π Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π’/Π Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ SigObjWait 1 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,03 0,03 0,05 0,05 0,03 0,05 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,03 0,06 0,03 0,05 0,08 0,05 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,06 0,02 0,09 0,08 0,02 0,06 2 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,14 0,27 0,09 0,08 0,06 0,08 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,13 0,05 0,14 0,17 0,11 0,08 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,11 0,06 0,16 0,09 0,11 0,17 4 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,39 0,59 0,23 0,19 0,16 0,20 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,18 0,17 0,22 0,26 0,17 0,19 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,30 0,22 0,41 0,31 0,22 0,31 8 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,83 0,92 0,73 0,36 0,34 0,36 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,34 0,36 0,55 0,52 0,45 0,45 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 0,98 1,00 1,00 0,69 0,39 0,75 16 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 2,42 2,30 2,38 0,75 0,69 0,75 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 1,17 1,31 1,22 0,81 0,81 0,88 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 3,69 3,05 3,39 1,45 1,08 1,33 32 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 7,56 7,50 7,98 1,50 1,50 1,50 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 3,33 3,73 2,56 1,75 1,69 1,78 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 12,52 10,72 11,03 3,13 2,00 2,69 64 Π Π΅Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 27,72 26,23 29,31 3,14 2,95 3,20 ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 7,89 10,75 7,22 3,73 3,69 3,47 Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ 46,70 40,33 36,67 6,28 3,89 5,47Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π²ΡΠ»Π΅Π΄ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ 10.4, ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈ ΡΠ°Π·ΡΡΡΠ½ΡΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ, Π° Π·Π΄Π΅ΡΡ ΠΌΡ Π»ΠΈΡΡ ΠΎΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄Π»Ρ ΡΠΈΠ³Π½Π°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΏΠΎΡΠΎΠΊΠΎΠ², ΡΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Ρ 32 ΠΈ 64 ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ Π΄ΠΎΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΏΡΠ΅Π΄ΠΈΠΊΠ°Ρ ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ Π²ΠΎΠ·Π²ΡΠ°Ρ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ².
1. Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΌΡΡΡΠ΅ΠΊΡ (Mtx), ΡΠΎΠ±ΡΡΠΈΠ΅ (Evt), ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ (Time-out, TO) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΡΡ ΡΠ°Π²Π½ΡΠΌ 5 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌ, ΡΡΠΎ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ 16-ΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
2. Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ CRITICAL_SECTION (CritSec), ΡΠΎΠ±ΡΡΠΈΠ΅, ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΡΡ ΡΠ°Π²Π½ΡΠΌ 5 ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡΠ½Π΄Π°ΠΌ, ΡΡΠΎ ΡΠ²Π»ΡΠ»ΠΎΡΡ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ 16-ΠΏΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°.
3. Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΌΡΡΡΠ΅ΠΊΡ, ΡΠΎΠ±ΡΡΠΈΠ΅, Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² SignalObjectAndWait (SigObjWait).
4. Π‘ΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΌΡΡΡΠ΅ΠΊΡ, ΡΠΎΠ±ΡΡΠΈΠ΅, ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ.
5. Π‘ΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΎΠ±ΡΠ΅ΠΊΡ CRITICAL_SECTION, ΡΠΎΠ±ΡΡΠΈΠ΅, ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ.
6. Π‘ΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΌΡΡΡΠ΅ΠΊΡ, ΡΠΎΠ±ΡΡΠΈΠ΅, Π°ΡΠΎΠΌΠ°ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² SignalObjectAndWait.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²
ΠΠ° Web-ΡΠ°ΠΉΡΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ TimeTest Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 2000/NT, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows 9x:
β’ cpTIME.bat
β’ cpTIME.bat
β’ atouTIME.bat
β’ grepTIME.bat
β’ sortTIME.bat
β’ threeST.bat
ΠΠ»Ρ Π²ΡΠ΅Ρ ΡΠ΅ΡΡΠΎΠ², ΠΊΡΠΎΠΌΠ΅ ΡΠ΅ΡΡΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠ΅ΡΠΈΠΈ, ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ASCII-ΡΠ°ΠΉΠ»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π²Π°Π»ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ RandFile.
ΠΠΈΠ±Π»ΠΈΠΎΠ³ΡΠ°ΡΠΈΡ
1. Beveridge, Jim, and Wiener, Robert. Multithreading Applications in Win32: The Complete Guide to Threads, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-44234-5.
2. Bott, Ed, and Siechert, Carl. Microsoft Windows Security Inside Out for Windows XP and Windows 2000, Microsoft Press, Redmond, WA, 2002. ISBN: 0-735-61632-9.
3. Box, Don. Essential COM, Addison-Wesley, Reading, MA, 1998. ISBN: 0-201-63446-5.
4. Box, Don (editor), et al. Effective COM: 50 Ways to Improve Your COM and MTS Based Applications, Addison-Wesley, Reading, MA, 1999. ISBN: 0-20-1-37968-6.
5. Brain, Marshall, and Reeves, Ron. Win32 System Services: The Heart of Windows 98 and Windows 2000, Third Edition, Prentice Hall, Englewood Cliffs, NJ, 2000. ISBN: 0-13-022557-6.
6. Butenhof, David. Programming with POSIX Threads, Addison-Wesley, Reading, MA, 1997. ISBN: 0-201-63392-2.
7. Cohen, Aaron, Woodring, Mike, and Petrusha, Ronald. Win32 Multithreaded Programming, Π'Reilley & Associates, Sebastopol, CA, 1998. ISBN: 1-565-92296-4.
8. Comer, Douglas E., and Stevens, David L. Internetworking with TCP/IP, Volume III: Client-Server Programming and Applications, Windows Sockets Version, Prentice Hall, Upper Saddle River, NJ, 1997. ISBN: 0-13-848714-6.
9. Custer, Helen. Inside Windows NT, Microsoft Press, Redmond, WA, 1993. ISBN: 155615-481-X. Second edition by David Solomon replaces this book, which in turn is replaced by Solomon and Russinovich (both in this bibliography).