Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «БистСмноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² срСдС WindowsΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 55

Автор ДТонсон Π₯Π°Ρ€Ρ‚

6.4. Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ 6.1 Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ явным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ использованиС Ρ„Π»Π°Π³Π° FILE_FLAG_DELETE_ON_CLOSE ΠΏΡ€ΠΈ создании Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ нСобходимости удалСния ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²?

6.5. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅, Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ Π»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ прСимущСства ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ grepMP Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с простой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ) Π² случаС SMP-систСм, Ссли такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρƒ вас имССтся, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ сСтСвых дисках. ЧастичныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… тСстов ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π’. 

6.6. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ способ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, связанный с использованиСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°Π΄Π°Ρ‡, для опрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра? ИспользованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°Π΄Π°Ρ‡ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ grepMP.

6.7. Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ grepMP (ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 6.5) Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° сообщала ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Π²ΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… характСристик (ΠΈΡΡ‚Π΅ΠΊΡˆΠ΅Π³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ядра ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅) суммарно для всСх процСссов.

6.8. Π£ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ устранимый нСдостаток. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Ρ‡Π° ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ΅Π½Π° ΠΈ Ρ‡Ρ‚ΠΎ главная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса Π΄Π°Π½Π½ΠΎΠ³ΠΎ задания Π΅Ρ‰Π΅ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. ВмСстС с Ρ‚Π΅ΠΌ, Ρ€Π°Π½Π΅Π΅ этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΌΠΎΠ³ Π±Ρ‹Ρ‚ΡŒ использован Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ OpenProcess для создания дСскриптора ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ процСсса, хотя Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ этот ΠΆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ссылаСтся Π½Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ процСсс. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ появлСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π°, трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ процСсс, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠΎΠΏΠΈΠΈ дСскрипторов ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ созданного процСсса, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Другая возмоТная ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² сохранСнии Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ запуска процСсса Π² Ρ„Π°ΠΉΠ»Π΅ управлСния Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Π­Ρ‚ΠΎ врСмя Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ запуска процСсса, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ с использованиСм ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ процСссов быстро ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‚ΡΡ, ΠΈ поэтому Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΎΡ‡Π΅Π½ΡŒ Π²Π΅Π»ΠΈΠΊΠ°. Π’ UNIX для получСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π½ΠΎΠ²Ρ‹Ρ… процСссов ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ значСния 32-Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ счСтчика, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС исчСрпания этих Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎ происходит ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ этого, Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… Windows Π½ΠΈΠΊΠΎΠ³Π΄Π° нСльзя ΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ процСсса Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ использован.

6.9. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ JobShell Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ информация ΡΠΎΡ…Ρ€Π°Π½ΡΠ»Π°ΡΡŒ Π² рССстрС, Π° Π½Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. 

6.10. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ JobShell Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ процСссы ΡΠ²ΡΠ·Ρ‹Π²Π°Π»ΠΈΡΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π·Π°Π΄Π°Ρ‡ΠΈ. НалоТитС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄Π° ограничСния Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π·Π°Π΄Π°Ρ‡, прСдоставив ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° числовых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ· этих ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ.

6.11. Π£Π»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ JobShell Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π° jobs обСспСчивала подсчСт числа дСскрипторов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π·Π°Π΄Π°Ρ‡. Подсказка. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ GetProcessHandleCount, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ трСбуСтся NT 5.1. 

6.12. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Version (находится Π½Π° Web-сайтС), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ verison.c. ΠŸΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ произвСсти ΠΏΡ€ΠΎΠ±Π½Ρ‹Π΅ запуски этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большСго числа Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… вСрсий Windows, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρƒ вас имССтся доступ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Windows 9x ΠΈ NT 4.0, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. ΠšΠ°ΠΊΠΎΠ²Ρ‹ ΡΡ‚Π°Ρ€ΡˆΠΈΠ΅ ΠΈ младшиС Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий для этих систСм, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ, ΠΈ ΠΊΠ°ΠΊΡƒΡŽ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ вСрсиях Π²Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ?

ГЛАВА 7

ΠŸΠΎΡ‚ΠΎΠΊΠΈ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ выполнСния

Основной Π΅Π΄ΠΈΠ½ΠΈΡ†Π΅ΠΉ выполнСния Π² Windows являСтся ΠΏΠΎΡ‚ΠΎΠΊ, ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ нСсколько ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ процСсса, раздСляя Π΅Π³ΠΎ адрСсноС пространство ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рСсурсы. Π’ Π³Π»Π°Π²Π΅ 6 процСссы ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ сущСствуСт ΠΌΠ½ΠΎΠ³ΠΎ ситуаций, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ° Π±Ρ‹Π»Π° Π±Ρ‹ вСсьма ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Настоящая Π³Π»Π°Π²Π° посвящСна описанию ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΈ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ областСй ΠΈΡ… примСнСния. Π“Π»Π°Π²Π° 8 ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ эту Ρ‚Π΅ΠΌΡƒ описаниСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² синхронизации ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΎΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… аспСктов использования ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² Π³Π»Π°Π²Π΅ 9 исслСдуСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ компромиссныС способы Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’ Π³Π»Π°Π²Π΅ 10 ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ программирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² синхронизации, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Ρ… ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Π­Ρ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π°Π»Π΅Π΅ Π²ΠΎ всСй ΠΎΡΡ‚Π°Π²ΡˆΠ΅ΠΉΡΡ части ΠΊΠ½ΠΈΠ³ΠΈ.

Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ настоящая Π³Π»Π°Π²Π° ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΌ обсуТдСниСм ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², посрСдством ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π² контСкстС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ². Π’Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ довольно Ρ€Π΅Π΄ΠΊΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ.

ΠžΠ±Π·ΠΎΡ€ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²

ΠŸΠΎΡ‚ΠΎΠΊ (thread) β€” это нСзависимая Π΅Π΄ΠΈΠ½ΠΈΡ†Π° выполнСния Π² контСкстС процСсса. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ это ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ прСдоставляСмыми самим хост-ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ возмоТностями распараллСливания Π·Π°Π΄Π°Ρ‡.

ΠŸΡ€ΠΈ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ СдинствСнного ΠΏΠΎΡ‚ΠΎΠΊΠ°. НСсмотря Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ продСмонстрировано Π½Π° рядС ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π² Π³Π»Π°Π²Π΅ 6, ΠΈ Π΄Π°ΠΆΠ΅ ΠΈΡ… взаимодСйствия ΠΌΠ΅ΠΆΠ΄Ρƒ собой посрСдством Ρ‚Π°ΠΊΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ², ΠΊΠ°ΠΊ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ памяти ΠΈΠ»ΠΈ ΠΊΠ°Π½Π°Π»Ρ‹ (Π³Π»Π°Π²Π° 11), ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Π΅ процСссы ΠΈΠΌΠ΅ΡŽΡ‚ ряд нСдостатков.

β€’ ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ процСссами потрСбляСт Π·Π°ΠΌΠ΅Ρ‚Π½ΡƒΡŽ долю Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… рСсурсов ОБ, Π° Π² случаях, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… многопроцСссному поиску (grepMP, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 6.1), всС процСссы заняты Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² контСкстС СдинствСнного процСсса позволяСт ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠ΅ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы систСмы.

β€’ ΠΠ΅ считая случаСв раздСлСния памяти, ΠΌΠ΅ΠΆΠ΄Ρƒ процСссами сущСствуСт лишь слабая взаимосвязь, Π° организация раздСлСния рСсурсов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ затруднСния.

β€’ Π‘ использованиСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… процСссов Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ простоС ΠΈ эффСктивноС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ нСсколькими ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌΠΈΡΡ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, Π² Ρ‚Π°ΠΊΠΈΡ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, случаях, ΠΊΠ°ΠΊ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ сСти ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ вычислСний.

β€’ Π’Ссно связанныС с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ рассмотрСнной Π² Π³Π»Π°Π²Π΅ 2 ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ прСобразования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· ASCII Π² Unicode (atou, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° 2.4), Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ простой модСлью "Ρ‡Ρ‚Π΅Π½ΠΈΠ΅-ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅-запись". ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ² Π³ΠΎΡ€Π°Π·Π΄ΠΎ эффСктивнСС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большСго числа ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ чтСния. Windows NT ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° (Π³Π»Π°Π²Π° 14), ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ эффСкта с мСньшими усилиями.

β€’ Π’ SMP-систСмах ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ Windows распрСдСляСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ процСссорами, Ρ‡Ρ‚ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π’ этой Π³Π»Π°Π²Π΅ ΠΎΠ±ΡΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΈ способы управлСния ΠΈΠΌΠΈ. ИспользованиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² рассматриваСтся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π·Π°Π΄Π°Ρ‡ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поиска ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ сортировки содСрТимого Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΈ Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² опСрациях Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Π² опСрациях, связанных с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ интСнсивных вычислСний. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² этой Π³Π»Π°Π²Π΅ прСдставлСн ΠΎΠ±Ρ‰ΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ планирования выполнСния процСссов ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π² Windows.

ΠŸΠ΅Ρ€ΡΠΏΠ΅ΠΊΡ‚ΠΈΠ²Ρ‹ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹

Богласно принятой Π² этой ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π³Π»Π°Π²Π°Ρ… Ρ‚ΠΎΡ‡ΠΊΠ΅ зрСния использованиС ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ позволяСт ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π½ΠΎ ΠΈ (ΠΏΡ€ΠΈ условии соблюдСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтарных ΠΏΡ€Π°Π²ΠΈΠ» ΠΈ слСдования ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ модСлям программирования) обСспСчиваСт ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ надСТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ понятной ΠΈΡ… структуру ΠΈ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ ΠΈΡ… обслуТиваниС. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ управлСния ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ вСсьма Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ управлСния процСссами, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, наряду с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ GetProcessExitCode сущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ функция GetThreadExitCode.

Указанная Ρ‚ΠΎΡ‡ΠΊΠ° зрСния Π½Π΅ являСтся общСпринятой. МногиС Π°Π²Ρ‚ΠΎΡ€Ρ‹ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° всСвозмоТныС риски ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ Π² случаС использования ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ использованию Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… процСссов, ΠΊΠΎΠ³Π΄Π° трСбуСтся ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. К числу ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ упомянутого Ρ€ΠΎΠ΄Π° относятся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅: