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

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

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ Π² языкС 1Π‘

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

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

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

  • πŸ›‘ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρ†Π΅Π»ΡŒ Ρ†ΠΈΠΊΠ»Π° достигнута ΠΈ дальнСйший поиск бСсполСзСн.
  • ⏩ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠΉΡ‚Π΅ ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ для пропуска ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… записСй Π±Π΅Π· остановки всСго процСсса.
  • βš™οΈ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² с мноТСством условий Π²Ρ‹Ρ…ΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это услоТняСт Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π§Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠ΅ использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„Π»Π°Π³ΠΈ состояния.

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ рСсурсы (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ) Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ освобоТдСны послС Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°.

ЭкстрСнная остановка выполнСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ

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

Когда Π²Ρ‹ запускаСтС ΠΊΠΎΠ΄ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠΈ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ счСтчик ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ растСт бСсконСчно ΠΈΠ»ΠΈ процСсс завис, самым быстрым Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ являСтся использованиС ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ°. Кнопка Π‘Ρ‚ΠΎΠΏ (красный ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚) Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнария. Однако, Ссли интСрфСйс самого ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΈΠ·-Π·Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° ΠΏΠΎΡ‚ΠΎΠΊ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ€Ρ‹.

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

πŸ“Š Как Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго останавливаСтС зависший Ρ†ΠΈΠΊΠ» Π² 1Π‘?
Кнопка Π‘Ρ‚ΠΎΠΏ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅
Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠΊΠ½Π° 1Π‘
ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΠΊ слуТбы сСрвСра
Π–Π΄Ρƒ ΠΏΠΎΠΊΠ° само закончится

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с большими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ². Главная ошибка Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² β€” Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ, Ρ‡Ρ‚ΠΎ нСдопустимо ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тысячами записСй.

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

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ (1000 записСй) Нагрузка Π½Π° Π‘Π£Π‘Π” РСкомСндация
Запрос Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° Низкая (10+ сСк) ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ
Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Высокая (< 1 сСк) Минимальная РСкомСндуСтся
ВрСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π° БрСдняя (1-3 сСк) БрСдняя Для слоТных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ
ΠŸΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Максимальная Низкая Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: ΠΎΠ΄ΠΈΠ½ запрос Π΄ΠΎ Ρ†ΠΈΠΊΠ»Π° Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ тысяча запросов Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ цикличСских конструкций

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними источниками высок риск возникновСния ошибок Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°. Если Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ всСй ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСкратится, ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ сообщСниС ΠΎΠ± ошибкС. Для прСдотвращСния этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°...Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

РазмСщая Π±Π»ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, Π²Ρ‹ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ΄Π½ΠΎΠΉ записи. Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π½Π΅ ΡƒΠ΄Π°Π»Π°ΡΡŒ, ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² Π²Π΅Ρ‚ΠΊΡƒ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π² ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ элСмСнтом благодаря ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ.

Π’Π°ΠΆΠ½ΠΎ Π½Π΅ Β«ΠΏΡ€ΠΎΠ³Π»Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΒ» всС ошибки подряд. Π’ Π±Π»ΠΎΠΊΠ΅ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ошибки. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ сбои, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ потСря соСдинСния с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ вСсь Ρ†ΠΈΠΊΠ», Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ошибки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ строки.

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠ· ΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ… Π¦ΠΈΠΊΠ»

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅(Π­Π»Π΅ΠΌΠ΅Π½Ρ‚);

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

Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ’Π–ΡƒΡ€Π½Π°Π»(ОписаниСОшибки());

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ;

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ пустой Π±Π»ΠΎΠΊ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· логирования. Π­Ρ‚ΠΎ скроСт Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅ ΠΈ услоТнит Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ происходит с Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΈ ошибкС Π² Ρ†ΠΈΠΊΠ»Π΅?

Если Ρ†ΠΈΠΊΠ» выполняСтся Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, которая Π½Π΅ обрабатываСтся, вся транзакция Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ°Ρ‚Π°Π½Π°. Если ошибка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, транзакция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΡΡ, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ сохранСны.

АсинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания

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

ΠŸΡ€ΠΈ использовании Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ Ρ†ΠΈΠΊΠ» выполняСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅. Однако здСсь Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° управлСния: ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Ρ†ΠΈΠΊΠ», Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ΡƒΠΌΠ°Π» ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ» ΠΎΡˆΠΈΠ±ΠΊΡƒ? Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ„Π»Π°Π³ΠΎΠ² прСрывания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ-Ρ„Π»Π°Π³, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒΠ’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ тяТСлой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΊΠΎΠ΄ провСряСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого Ρ„Π»Π°Π³Π°. Если ΠΎΠ½ установлСн Π² Π˜ΡΡ‚ΠΈΠ½Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β» Π² интСрфСйсС), Ρ†ΠΈΠΊΠ» прСрываСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, сохраняя Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

  • πŸ”„ АсинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ основной ΠΏΠΎΡ‚ΠΎΠΊ интСрфСйса.
  • 🚩 ВсСгда Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ «мягкой» остановки для Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… процСссов.
  • πŸ’Ύ БохраняйтС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ всё.

ℹ️ ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ доступныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с асинхронными Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ (толстый/Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚). РСкомСндуСтся ΡΠ²Π΅Ρ€ΡΡ‚ΡŒΡΡ с синтаксис-ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈΠΊΠΎΠΌ вашСй вСрсии.

β˜‘οΈ Π§Π΅ΠΊ-лист бСзопасного Ρ†ΠΈΠΊΠ»Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ЧастыС ошибки ΠΈ Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ†ΠΈΠΊΠ»Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡƒΠ»ΠΎΠ²ΠΈΠΌΡ‹ΠΌ Π±Π°Π³Π°ΠΌ. Одним ΠΈΠ· распространСнных Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² являСтся модификация ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€, нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ пропуску элСмСнтов ΠΈΠ»ΠΈ ошибкС индСксации.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” использованиС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… для управлСния состояниСм Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ зависимым ΠΎΡ‚ внСшнСго контСкста ΠΈ Ρ‚Ρ€ΡƒΠ΄Π½Ρ‹ΠΌ для тСстирования. Π›ΠΎΠ³ΠΈΠΊΡƒ управлСния Ρ†ΠΈΠΊΠ»ΠΎΠΌ слСдуСт ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, пСрСдавая всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹.

Π’Π°ΠΊΠΆΠ΅ стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ «магичСских чисСл» Π² условиях Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°. ВмСсто Если Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ > 150 Π’ΠΎΠ³Π΄Π° Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡƒΡŽ константу ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡Π΅Ρ‚ΠΊΠΎ описываСт смысл ограничСния. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

πŸ’‘

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° "Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ" β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π° Π² 1Π‘. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ копию ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ†ΠΈΠΊΠ» "По индСксу".

МоТно Π»ΠΈ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹?

НСт, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ дСйствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ†ΠΈΠΊΠ»Π°, Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ значСния (Ρ„Π»Π°Π³Π°) ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ основной Ρ†ΠΈΠΊΠ», ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ для нСстандартного Π²Ρ‹Ρ…ΠΎΠ΄Π°.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΈ Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· 1Π‘?

ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ†ΠΈΠΊΠ», послС Ρ‡Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° продолТаСтся со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки послС Ρ†ΠΈΠΊΠ»Π°. Π’Ρ‹Ρ…ΠΎΠ΄ (ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния) останавливаСт всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈΠ»ΠΈ сСанс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

Как ΠΎΡ‚Π»Π°Π΄ΠΈΡ‚ΡŒ бСсконСчный Ρ†ΠΈΠΊΠ», Ссли 1Π‘ зависаСт?

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ этому процСссу ΠΈΠ· Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ сСанса ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° (мСню ΠžΡ‚Π»Π°Π΄ΠΊΠ° -> ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ). Если это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сторонниС ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° процСссов ΠΈΠ»ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚Π΅ процСсс Ρ‡Π΅Ρ€Π΅Π· диспСтчСр Π·Π°Π΄Π°Ρ‡, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сохранив Π΄Π°ΠΌΠΏ памяти для Π°Π½Π°Π»ΠΈΠ·Π°.

ВлияСт Π»ΠΈ использованиС ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ?

Π‘Π°ΠΌ ΠΏΠΎ сСбС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ½ΠΎ ΠΌΠ°Π»ΡƒΡŽ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ. Однако, Ссли ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пропуска 90% элСмСнтов Π² Ρ†ΠΈΠΊΠ»Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, стоит ΠΏΠ΅Ρ€Π΅ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ запроса, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ лишниС записи Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.