Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ искусствСнно ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°ΡƒΠ·Ρƒ Π² ΠΊΠΎΠ΄Π΅ 1Π‘, ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ: ΠΎΡ‚ простого ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π΄ΠΎ синхронизации с внСшними процСссами ΠΈΠ»ΠΈ оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ Π²Π΅Π±-сСрвиса. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт нСсколько ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности повСдСния Π² клиСнтском ΠΈ сСрвСрном контСкстС.

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

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

ИспользованиС встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep

Π‘Π°ΠΌΡ‹ΠΌ прямым ΠΈ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌ способом ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° являСтся Π²Ρ‹Π·ΠΎΠ² систСмной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep. Π­Ρ‚Π° функция доступна Π² глобальном контСкстС ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° ΠΊΠ°ΠΊ Π² сСрвСрном, Ρ‚Π°ΠΊ ΠΈ Π² клиСнтском ΠΊΠΎΠ΄Π΅, ΠΎΠ΄Π½Π°ΠΊΠΎ послСдствия Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Бинтаксис ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ прост: Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° количСство миллисСкунд, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊ выполнСния.

ΠŸΡ€ΠΈ использовании Π½Π° сСрвСрС Π²Ρ‹Π·ΠΎΠ² Sleep(1000) Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ Β«Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π΅Ρ‚Β» Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ сСанс Π½Π° ΠΎΠ΄Π½Ρƒ сСкунду. Π’ это врСмя сСрвСрный процСсс Π½Π΅ выполняСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствий, оТидая истСчСния Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°. Π­Ρ‚ΠΎ допустимо Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях ΠΈΠ»ΠΈ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… опСрациях, Π³Π΄Π΅ врСмя ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° Π½Π΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Однако ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°Ρ… событий, запускаСмых ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ рСкомСндуСтся.

Если ΠΆΠ΅ Π²Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚Π΅ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² толстом ΠΈΠ»ΠΈ Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Окно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ пСрСстанСт Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° наТатия клавиш, Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΈ ΠΈ пСрСрисовку элСмСнтов. Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠ°ΠΊ зависаниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ соврСмСнных стандартах Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ такая ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° считаСтся Π΄ΡƒΡ€Π½Ρ‹ΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΈΠ· клиСнтского ΠΊΠΎΠ΄Π°.

πŸ’‘

ВсСгда провСряйтС контСкст выполнСния ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep. На ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΎΠ½Π° Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ интСрфСйс, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°ΡƒΠ· Π² сСрвСрном ΠΊΠΎΠ΄Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Ρ‚ΡŒ ΠΏΡƒΠ» Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… процСссов сСрвСра 1Π‘, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ очСрСдям Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ.

Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для эмуляции Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ обращСния ΠΊ рСсурсу:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ()

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

// Π›ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅("Ошибка ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ Ρ‡Π΅Ρ€Π΅Π· 2 сСкунды");

Sleep(2000);

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ(); // РСкурсивный Π²Ρ‹Π·ΠΎΠ²

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

ΠžΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ°ΡƒΠ·Ρ‹ Π² клиСнтском ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ

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

Один ΠΈΠ· распространСнных, хотя ΠΈ Π½Π΅ самый ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² β€” использованиС Ρ†ΠΈΠΊΠ»Π° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ сообщСний. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ Π²ΠΈΠ΄Π° Пока НС Π˜ΡΡ‚ΠΈΠ½Π° Π¦ΠΈΠΊΠ» ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ(); ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°; позволяСт ΠΊΠΎΠ΄Ρƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ бСсконСчно, Π½ΠΎ ΠΏΡ€ΠΈ этом ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° успСваСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ систСмныС события. Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π°, основанноС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Ρ„Π»Π°Π³Π΅.

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ°ΡƒΠ·Ρ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Sleep Π² сСрвСрС
Π¦ΠΈΠΊΠ» с ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ
Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Ρ„ΠΎΡ€ΠΌ
АсинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сообщСний выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π–Π΄Π°Ρ‚ΡŒΠ‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅()

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π’Ρ€Π΅ΠΌΡ = ВСкущаяДата() + 5; // Π–Π΄Π°Ρ‚ΡŒ 5 сСкунд

Пока ВСкущаяДата() < ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎΠ΅Π’Ρ€Π΅ΠΌΡ Π¦ΠΈΠΊΠ»

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ();

// Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ условия досрочного Π²Ρ‹Ρ…ΠΎΠ΄Π°

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅("ОТиданиС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ");

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ

Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ вашСй Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰Π°Ρ основныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°ΡƒΠ· Π² Ρ€Π°Π·Π½Ρ‹Ρ… контСкстах выполнСния. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ быстро ΡΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для вашСго случая.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° интСрфСйса Нагрузка Π½Π° CPU
Sleep() Π‘Π΅Ρ€Π²Π΅Ρ€ / ΠšΠ»ΠΈΠ΅Π½Ρ‚ Π”Π° (Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅) Низкая
Π¦ΠΈΠΊΠ» + ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ() ΠšΠ»ΠΈΠ΅Π½Ρ‚ НСт Высокая (Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅)
Π’Π°ΠΉΠΌΠ΅Ρ€ Ρ„ΠΎΡ€ΠΌΡ‹ ΠšΠ»ΠΈΠ΅Π½Ρ‚ НСт Минимальная
Асинхронный Π²Ρ‹Π·ΠΎΠ² ΠšΠ»ΠΈΠ΅Π½Ρ‚-Π‘Π΅Ρ€Π²Π΅Ρ€ НСт ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ

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

Π‘Ρ‚ΠΎΠΈΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π² Ρ†ΠΈΠΊΠ»Π΅ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ сообщСний ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы процСссора, особСнно Ссли Ρ†ΠΈΠΊΠ» выполняСтся ΠΎΡ‡Π΅Π½ΡŒ быстро Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π°Π³Ρ€Π΅Π²Ρƒ оборудования ΠΈ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° машинС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

πŸ’‘

Для клиСнтского ΠΊΠΎΠ΄Π° всСгда Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹: Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ ΠΈΠ»ΠΈ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ. Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° интСрфСйса нСдопустима Π² соврСмСнных прилоТСниях.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ оТидания

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°ΡƒΠ·, особСнно Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΡ… Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Ρ‚ΡŒ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΈΠ»ΠΈ систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΡƒΡŽ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ. Π’ случаС использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep Π½Π° сСрвСрС ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ сСанса ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ всСгда ΡƒΠ΄ΠΎΠ±Π½ΠΎ.

Π’ клиСнтском ΠΊΠΎΠ΄Π΅, ΠΏΡ€ΠΈ использовании Ρ†ΠΈΠΊΠ»Π° с ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ(), Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ ΠΈΠ»ΠΈ состояния систСмы. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ клавиши Esc ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ ΠΎ нСобходимости ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ процСссом ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ удобство Ρ€Π°Π±ΠΎΡ‚Ρ‹.

  • πŸ›‘ Π Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ„Π»Π°Π³Π° ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° оТидания.
  • ⏱ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ для всСх Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ бСсконСчного оТидания.
  • πŸ“’ Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прогрСсс-Π±Π°Ρ€ ΠΈΠ»ΠΈ сообщСниС ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Ρ‚ процСсс оТидания.

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ особСнно Π²Π°ΠΆΠ½Π° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с сСтСвыми рСсурсами. Если внСшний сСрвис Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚, вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΠΈΡΠ΅Ρ‚ΡŒ Π²Π΅Ρ‡Π½ΠΎ. ВсСгда устанавливайтС Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ прСдусматривайтС сцСнарии повСдСния ΠΏΡ€ΠΈ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠΈ этого Π»ΠΈΠΌΠΈΡ‚Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Ρ†ΠΈΠΊΠ»ΠΎΠ² оТидания ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ условиС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ достигнуто. БСсконСчный Ρ†ΠΈΠΊΠ» с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ сообщСний ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ зависанию ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° условия Π²Ρ‹Ρ…ΠΎΠ΄Π° Π½Π°Ρ€ΡƒΡˆΠ΅Π½Π°.

АсинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΊΠ°ΠΊ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΏΠ°ΡƒΠ·Π°ΠΌ

БоврСмСнная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ вСрсии 8.3 ΠΈ Π²Ρ‹ΡˆΠ΅ прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ асинхронного программирования. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ Β«ΠΆΠ΄Π°Ρ‚ΡŒΒ» Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСйствиС ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ дальшС, Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ мСняСт ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры асинхронного Π²Ρ‹Π·ΠΎΠ²Π°

Π’Ρ‹ создаСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ асинхронного контСкста, ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ Π² Π½Π΅Π³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выполняСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ„ΠΎΠ½Π΅ ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ваш ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ, пСрСдавая Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠ»ΠΈ ΠΎΡˆΠΈΠ±ΠΊΡƒ.

ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ модСль ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ пСрСсмотра Π»ΠΎΠ³ΠΈΠΊΠΈ вашСго прилоТСния. ВмСсто Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²Π°ΠΌ придСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ°ΠΌΠΈ событий (callbacks). Однако Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ отзывчивости интСрфСйса ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΊΡƒΠΏΠ°Π΅Ρ‚ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ Π½Π° Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³.

ОсобСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ это для Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² 1Π‘, Π³Π΄Π΅ рСсурсы ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹, Π° трСбования ΠΊ скорости ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹. Π’ этих срСзах Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° выполнСния нСдопустима Π½ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΈ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ процСссов оТидания

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΊΠΎΠ΄Π°, содСрТащСго ΠΏΠ°ΡƒΠ·Ρ‹, критичСски Π²Π°ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ состояниС систСмы. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ срСдства ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ 1Π‘ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ пошагово Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎ ΠΏΡ€ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… оТиданиях это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΡƒΠ΄ΠΎΠ±Π½ΠΎ. ИспользованиС ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации ΠΈ Π²Ρ‹Π²ΠΎΠ΄ диагностичСских сообщСний ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ этапС ΠΈ сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

РСкомСндуСтся ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ ΠΈ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Для записи Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ВСкущаяДата() ΠΈΠ»ΠΈ Π²Ρ‹ΡΠΎΠΊΠΎΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, Ссли ΠΎΠ½ доступСн Π² вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

  • πŸ“ ЗаписывайтС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ оТидания Π² ΠΆΡƒΡ€Π½Π°Π» рСгистрации.
  • πŸ” Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова (breakpoint) ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΏΠ°ΡƒΠ·Ρ‹ для Π°Π½Π°Π»ΠΈΠ·Π° состояния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….
  • πŸ“Š АнализируйтС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° (Π’Π–) сСрвСра 1Π‘.

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ излишнСС Π»ΠΎΠ³Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ частых Ρ†ΠΈΠΊΠ»ΠΎΠ² оТидания ΠΌΠΎΠΆΠ΅Ρ‚ само ΠΏΠΎ сСбС Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы. НаходитС баланс ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’ ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½-Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π»ΠΎΠ³ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅.

β˜‘οΈ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡƒΠ·Ρ‹

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5
МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sleep Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

Π”Π°, использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях (Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…) являСтся допустимой ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠΉ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ выполняСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ сСанса, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½Π΅ влияСт Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ интСрфСйса. Однако слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ, установлСнныС Π² настройках сСрвСра.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ интСрфСйс зависаСт ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Sleep?

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ зависаСт, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ основной ΠΏΠΎΡ‚ΠΎΠΊ прилоТСния, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° отрисовку Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ событий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌ оТидания. Он Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ наТатия клавиш ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ элСмСнты, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep. РСшСниС β€” использованиС Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ асинхронных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².

Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠ°ΡƒΠ·Ρƒ Π±Π΅Π· Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° процСссор?

ΠΠ°ΠΈΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° процСссор обСспСчиваСт функция Sleep (Π½Π° сСрвСрС) ΠΈ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ (Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅). Π¦ΠΈΠΊΠ»Ρ‹ с ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ() ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ процСссор постоянно ΠΎΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ состояниС систСмы. Для клиСнтских Π·Π°Π΄Π°Ρ‡ всСгда ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹.

ВлияСт Π»ΠΈ ΠΏΠ°ΡƒΠ·Π° Π² ΠΊΠΎΠ΄Π΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ записСй Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

Π”Π°, Ссли ΠΏΠ°ΡƒΠ·Π° происходит Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π° сСрвСрС, Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ для Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΡ…ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Π΅. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ врСмя Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ ΠΏΠ°ΡƒΠ·Ρ‹ Π·Π° ΠΈΡ… ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹.

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° максимальноС врСмя ΠΏΠ°ΡƒΠ·Ρ‹?

ВСхничСского ограничСния Π½Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Sleep Π² Π²ΠΈΠ΄Π΅ максимального числа миллисСкунд Π½Π΅Ρ‚, ΠΊΡ€ΠΎΠΌΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…. Однако ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ ограничСния сСрвСра 1Π‘ Π½Π° врСмя выполнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ сСанса ΠΈΠ»ΠΈ запроса. ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ этих Π»ΠΈΠΌΠΈΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ соСдинСния.