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

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ³Ρ€ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 57

Автор Майкл ΠœΠΎΡ€Ρ€ΠΈΡΠΎΠ½

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΎ Ρ‡Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ, рассмотрим, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ, Ссли синхронизация Π±ΡƒΠ΄Π΅Ρ‚ утСряна. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π²Π° Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° ΠΈΠ³Ρ€Π°ΡŽΡ‚ Π² ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ ΠΈΠ³Ρ€Ρƒ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΡƒΡŽ популярной ΠΈΠ³Ρ€Π΅ Diablo. НапримСр, ΠΎΠ½ΠΈ Π±Π΅Π³ΡƒΡ‚ вмСстС. ΠŸΡ€ΠΎΠ±Π΅Π³Π°Ρ ΠΌΠΈΠΌΠΎ Π΄Π΅ΠΌΠΎΠ½Π°, Π±ΠΎΠ»Π΅Π΅ агрСссивный ΠΈΠ³Ρ€ΠΎΠΊ 1 Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ с Π½ΠΈΠΌ ΡΡ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ. Π£ ΠΈΠ³Ρ€ΠΎΠΊΠ° 2 ΠΌΠ°Π»ΠΎ энСргии, ΠΈ ΠΎΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΡ‚ΠΎΠΉΡ‚ΠΈ Π² сторону ΠΈ ΠΏΠΎΠ½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒ. Когда ΠΈΠ³Ρ€ΠΎΠΊ 1 Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΡ€ΡŒΠ±Ρƒ с Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ, ΠΈΠ³Ρ€ΠΎΠΊ 2 Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ ΠΎΠ± этом. И Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния удобства: всС измСнСния Π² ΠΈΠ³Ρ€Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€Π°ΠΆΠ΅Π½Ρ‹ ΠΈ для ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ².

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

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ. БущСствуСт мноТСство ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ сСтСвых соСдинСний, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ синхронизации. ΠœΡ‹ рассмотрим Π΄Π²Π° основных Ρ‚ΠΈΠΏΠ° синхронизации сСтСвых ΠΈΠ³Ρ€: синхронизация состояния ΠΈ синхронизация Π²Π²ΠΎΠ΄Π°.

Бинхронизация состояния

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

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρƒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² пропускная ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ сСти ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, синхронизация состояния прСдставляСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π—Π²ΡƒΡ‡ΠΈΡ‚ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ. Ну Π° Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π² случаС Π±ΠΎΠ»Π΅Π΅ слоТной ΠΈΠ³Ρ€Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€ΠΎΠ»Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‡Π΅ΡΠΊΠΎΠΉ ΠΈΠ³Ρ€Ρ‹ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠΈΡ€Π°ΠΌΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… постоянно ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠΈ? ОбмСн ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ состоянии всСй ΠΈΠ³Ρ€Ρ‹ каТСтся ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌ, Π²Π²ΠΈΠ΄Ρƒ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… объСмов. И Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎΠ± ограничСниях скорости соСдинСния, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ Ρ€Π°Π½Π΅Π΅. Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°Ρ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°ΠΌΠΈ. Зная это, Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ синхронизация состояний – это Π½Π΅ Π»ΡƒΡ‡ΡˆΠ΅Π΅ сСтСвоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Π₯отя с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ синхронизации ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆ, с тСхничСской Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΎΠ½ Π½Π΅ всСгда ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ.

Бинхронизация Π²Π²ΠΎΠ΄Π°

Бинхронизация Π²Π²ΠΎΠ΄Π° – это ΠΌΠ΅Ρ‚ΠΎΠ΄ соСдинСния, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈΠ³Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ сообщСния ΠΎ входящих событиях Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·Π°ΠΌ ΠΈΠ³Ρ€Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·Π°Ρ†ΠΈΡŽ Π²Π²ΠΎΠ΄Π°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ² Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ события, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, наТатия клавиш, Π° ΠΈΠ³Ρ€Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ эти события Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΈΠ³Ρ€Π°ΠΌ. Если ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ это ΠΊ космичСскому симулятору, обсуТдСнному Ρ€Π°Π½Π΅Π΅, Ρ‚ΠΎ ΠΈΠ³Ρ€Π° отправляСт события Π½Π°ΠΆΠ°Ρ‚Ρ‹Ρ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠΌ клавиш. Π—Π°Ρ‚Π΅ΠΌ каТдая запущСнная ΠΈΠ³Ρ€Π° ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ эти события ΠΈ вносит ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния.

Но здСсь Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Π²ΠΎΡ…, Π΄Π°? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠ½ Π΅ΡΡ‚ΡŒ! Бинхронизация Π²Π²ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° измСнСния вносятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ³Ρ€ΠΎΠΊΠ°ΠΌΠΈ. Π˜Π½Π°Ρ‡Π΅ говоря, Π² простых ΠΈΠ³Ρ€Π°Ρ… ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ вряд Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚. Π’ ΠΈΠ³Ρ€Π°Ρ… часто Π±Ρ‹Π²Π°ΡŽΡ‚ случайныС события, ΠΊΠ°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π­Ρ‚ΠΈ случайныС события ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ для синхронизации, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π½Π΅ зависят ΠΎΡ‚ ΠΈΠ³Ρ€ΠΎΠΊΠ°, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈΡ… синхронизация прСдставляСт Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎΡΡ‚ΡŒ.

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

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

Π˜Π³Ρ€Π° Connect 4, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Π»Π°Π²Π΅, β€“ это Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сСтСвой пошаговой ΠΈΠ³Ρ€Ρ‹, которая ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ зависит ΠΎΡ‚ дСйствий ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ².

БмСшанноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

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

Если Π²Ρ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½Π΅Ρ‚Π΅ΡΡŒ с ΠΈΠ³Ρ€ΠΎΠ²Ρ‹ΠΌ сцСнариСм, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ нСльзя Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ посрСдством ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ. Π‘Π΅Ρ‚Π΅Π²Ρ‹Π΅ ΠΈΠ³Ρ€Ρ‹ – это ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ программирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ мСсто Π½ΠΎΠ²Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² Π½Π° основании ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ ΠΈ собствСнных ΠΈΠ΄Π΅ΠΉ.

Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ с сокСтами

НСсмотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ сущСствуСт мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСтСй, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ сСтСвых ΠΈΠ³Ρ€ Π² MIDP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ особый Ρ‚ΠΈΠΏ сСтСвого соСдинСния, извСстный ΠΊΠ°ΠΊ сокСт (socket). Π‘ΠΎΠΊΠ΅Ρ‚ – это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ элСмСнт для входящСго ΠΈΠ»ΠΈ исходящСго соСдинСния. Π˜Π½Π°Ρ‡Π΅ говоря, сокСт – это ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΊΠ°Π½Π°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π°ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚. Π’ MIDP API Π΅ΡΡ‚ΡŒ класс сокСта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ соСдинСний. Π‘ΠΎΠΊΠ΅Ρ‚Ρ‹ MIDP Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ: ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ ΠΈ Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅.

ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Π΅ сокСты

ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ сокСт (соСдинСнный сокСт) β€“ это сокСт, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ. Говоря Β«Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΒ», я Π½Π΅ имСю Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ сокСт – это ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ соСдинСниС, доступноС Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ сокСта – это Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π½Π΅ Π·Π°Π±ΠΎΡ‚ΡΡΡŒ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ получатСля. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ‚Π°ΠΊΠΎΠ΅ соСдинСниС постоянно Β«Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΒ», Ρ‚ΠΎ Π΄Π°Ρ‚Π° пСрСдаСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ отправлСния.

Π”Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сокСты

Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ сокСтов, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Java, β€“ это Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сокСты. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹Ρ… сокСтов, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… соСдинСниС большС ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° постоянноС сСтСвоС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π΄Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ сокСты большС ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΊΠΎΠΌΠΌΡƒΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ соСдинСниС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π΅ всСгда. Π”Π°Ρ‚Π°Π³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ сокСт – это сокСт, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ, ΠΏΡ€ΠΈ этом Β«Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅Β» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ устройству Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

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

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

...

Π’ ΠΊΠΎΠΏΠΈΠ»ΠΊΡƒ Π˜Π³Ρ€ΠΎΠΊΠ°

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

Π‘Π΅Ρ‚Π΅Π²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ J2ME

Π‘Π΅Ρ‚Π΅Π²ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΠΌΠΈΠ΄Π»Π΅Ρ‚Π°Ρ… выполняСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ MIDP API, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ носит Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Generic Connection Framework ΠΈΠ»ΠΈ GCF. ЦСль GCF – ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ абстракции для сСтСвых сСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ устройствам ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹.