//. . .
return(sem_post(Semaphore));
}
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ lock (), unlock (), trylock () ΠΈ ΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ POSIX, Π° Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Pthread. ΠΠ°ΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΠ΅ΠΌΠ°ΡΠΎΡ ΠΈ ΠΌΡΡΡΠ΅ΠΊΡ β Π½Π΅ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅. ΠΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ . ΠΠ°ΡΠ°ΡΡΡΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΉ lock() ΠΈ unlock() ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΡΡΡΠ΅ΠΊΡΠΎΠΌ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΡΠ°Π±Π». 11.2.
Π’Π°Π±Π»ΠΈΡΠ° 11.2. ΠΡ Π½ ΠΎΠ²Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΡΡ Ρ Π΅ΠΊΡΠ°ΠΌΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ°ΠΌΠΈ
β’ Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΠΌΡΡΡΠ΅ΠΊΡΠΎΠ²
β’ ΠΡΡΡΠ΅ΠΊΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ
β’ ΠΡΡΡΠ΅ΠΊΡ Π΄Π΅Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ ΡΠ΅ΠΌΠΈ ΠΆΠ΅ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅Π³ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π»ΠΈ
β’ ΠΡΡΡΠ΅ΠΊΡ Π»ΠΈΠ±ΠΎ Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ, Π»ΠΈΠ±ΠΎ Π΄Π΅Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ
β’ Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ²
β’ Β Π‘Π΅ΠΌΠ°ΡΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ,Β Π½ΠΎ ΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ
β’ -Β ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ ΡΠ΅ΠΌΠ°ΡΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π΅Π³ΠΎ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°Π»
β’ Β Π‘Π΅ΠΌΠ°ΡΠΎΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΡΡΠ»ΠΎΠΊ. Π‘ΡΠ°Π½Π΄Π°ΡΡ POSIX Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΠΌΠ°ΡΠΎΡΡ
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π²Π°ΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ Π² ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ΅ (ΡΠΌ. ΡΠ°Π±Π». 11.2), ΡΠ°ΡΡΠΎ ΠΈΡ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ°Π²Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ ΡΠ΅ΠΌΠ°ΡΠΎΡΠ°ΠΌ ΠΈ ΠΌΡΡΡΠ΅ΠΊΡΠ°ΠΌ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Β«ΠΏΠΎΠ»ΡΡΠΈΡΠΎΠΊΠΈΠΉΒ» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΉ lock(), unlock() ΠΈ trylock() Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅ΠΌ: ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΡΠ°Π·Π»ΠΈΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΡΡΡΠ΅ΠΊΡΠΎΠΌ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠΌ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠ°Π²Π½ΠΈΡΡ Ρ ΡΠΈΡΡΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Β«ΡΠΈΡΠΎΠΊΠΈΠΌΠΈΒ» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌ ΠΈ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠ°ΠΊ deque, queue, set, multiset ΠΈ ΠΏΡ. ΠΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ ΠΎΠ±ΡΠΈΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ, Π½ΠΎ ΠΈΡ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½Π°. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΠΌΡΡΡΠ΅ΠΊΡΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΌΡΡΡΠ΅ΠΊΡΠΎΠ² ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΅ΠΌΠ°ΡΠΎΡΠΎΠ². ΠΠΌΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ (Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°) ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΡΠ΅, Π΄ΠΎΠΌΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΊΠ°ΡΠΊΠ°ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±Π΅ΠΈΡ Π²Π΅ΡΡΠΈΠΉ (ΠΏΠΎ ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ) Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ½ΠΎΠ³Π΄Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π΄Π»Ρ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° ΠΎΡ ΡΡΡΠ°ΡΠ΅Π»ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΊ Π½ΠΎΠ²ΡΠΌ. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΠ³ΡΠ°Π΄ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° ΠΎΡ ΡΠ°Π·Π»ΠΈΡΠΈΠΉ, ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, ΡΠΎ Π½Π°ΡΠ° ΡΠ΅Π»Ρ β ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΠ I-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ [18], Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠ°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ΅ΠΌΠ°ΡΠΎΡΠ½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² ΡΡΠ΅Π΄Π΅: System V ΠΈΠ»ΠΈ POSIX.
ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠΎΠΌΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Β«ΡΠΈΡΠΎΠΊΠΈΡ Β» ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΡΡΠ΅Π΄ΡΡΠ² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π·Π° ΡΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°Π½Π°Π»ΠΎΠ², FIFO-ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ ΠΈ ΡΠ°ΠΊΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ PVM ΠΈ MPI. ΠΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ°Π΄ΠΈ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (Inter-Process Communication β IPC), ΠΌΠ΅ΠΆΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (Inter-Thread Communication β ITC), Π° Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°Π»Ρ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ (Object-to-Object Communicaton β OTOC). ΠΡΠ»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΌΠΈ ΠΏΠΎΡΠΎΠΊΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ, ΡΠΎ ΠΊΠ°Π½Π°Π» ΡΠ²ΡΠ·ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π΄Π΅Π». ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² (ΠΏΠΎΡΠΎΠΊΠΎΠ²) ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠ°Π½Π°Π», FIFO-ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈΠ»ΠΈ Π±ΡΡΠ΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π½Π΅ΠΏΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Β«Π³ΠΎΠ½ΠΊΠ°Β» Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ Π·Π° ΡΡΠ΅Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PVM ΠΈΠ»ΠΈ MPI, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Π½ΡΠΌΠΈ Π² ΡΠΎΠΌ, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠ°ΠΌ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°. ΠΠΌΠ΅Π½Π½ΠΎ Π·Π΄Π΅ΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡΡ Π½Π°ΡΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ². Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ pvm_stream.
// ΠΠΈΡΡΠΈΠ½Π³ 11.12. ΠΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° pvm_stream, ΠΊΠΎΡΠΎΡΡΠΉ
//Β Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΊΠ»Π°ΡΡ mios
class pvm_stream : public mios{
protected:
int TaskId;
int MessageId;
mutex Mutex;
//...
public:
void taskId(int Tid);
void messageId(int Mid);
pvm_stream(int Coding=PvmDataDefault);
void reset(int Coding = PvmDataDefault);
pvm_stream &operator<<(string &Data);
pvm_stream &operator>>(string &Data);
pvm_stream &operator>>(int &Data);
pvm_stream &operator<<(int &Data);
//. . .
};
ΠΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΡΡΠΈΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° Π² PVM-Π·Π°Π΄Π°ΡΠ΅. ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΡΠ°Π²ΠΊΠΈ "<<" ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ">>" ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ PVM-ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΠΎΠΊ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΈΠΏΠ° int. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΡΡΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π΄Π°Π»Π΅ΠΊ ΠΎΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²Π°. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠΎΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² "<<" ΠΈ ">>". Π ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ pvm_stream Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° pvm_stream Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ Π΄Π»Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ»Π΅Π½Π° Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° pvm_stream ΠΊΠ»Π°ΡΡ mutex. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΎ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ PVM-Π·Π°Π΄Π°ΡΠΈ, ΠΊΠ»Π°ΡΡ pvm_stream ΠΈΠ½ΠΊΠ°ΠΏΡΡΠ»ΠΈΡΡΠ΅Ρ Π΄Π»Ρ Π½Π΅Π΅ Π°ΠΊΡΠΈΠ²Π½ΡΠΉ Π±ΡΡΠ΅Ρ. ΠΠ°ΡΠ° ΡΠ΅Π»Ρ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ ostream ΠΈ istream Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Β«ΠΏΡΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΒ» ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠ»Π°ΡΡ pvm_stream. ΠΡΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ ΠΊΠ»Π°ΡΡΡ ostream ΠΈ istream ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ. ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΡ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ Π² ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π±Π°ΠΉΡΠΎΠ² ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΈ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π±Π°ΠΉΡΠΎΠ² Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠ»Π°ΡΡΡ istream ΠΈ ostream, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ³ΡΡΠΆΠ°ΡΡΡΡ Π² Π΄Π΅ΡΠ°Π»ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ Π² ΠΏΠΎΡΠΎΠΊ ΠΈΠ»ΠΈ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΡΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°. ΠΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° pvm_stream Π±ΡΠ»ΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° PVM ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ Π² Π±ΡΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΈΠ· Π±ΡΡΠ΅ΡΠ° ΠΏΡΠΈΠ΅ΠΌΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ½ΠΊΡΠΈΠΈ pvm_pkdouble () pvm_pkint () pvm_pkfloat() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ double-, int- ΠΈ float-Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π² Π‘++. ΠΡ Π±Ρ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π½Π°ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, Ρ.Π΅. ΡΡΠΎΠ±Ρ Π²Π²ΠΎΠ΄ ΠΈ Π²ΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ Π±Π°ΠΉΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ»ΠΈ ΠΈΠ· Π½Π΅Π΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΡΠ°Π²ΠΊΠΈ (<<) ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ (>>) Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ PVM-Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ istream ΠΈ ostream, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ios, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠΎΡΠΎΠΊ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π»ΠΈΠ±ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΌ, Π΄Π΅ΡΡΡΠΈΡΠ½ΡΠΌ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. ΠΠΎΡΠΎΠΊ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅Π±ΡΠ²Π°ΡΡ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ, Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°. ΠΠ»Π°ΡΡ pvm_stream Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ PVM-Π·Π°Π΄Π°ΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠΈΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ. ΠΠ°Ρ ΠΊΠ»Π°ΡΡ pvm_stream Π΄Π»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ mios. ΠΡΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π±ΡΡΠ΅ΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΠ° ΡΠΈΡ. 11.4 ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π΄Π²Π΅ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΡ ΠΊΠ»Π°ΡΡΠΎΠ²: ΠΎΠ΄Π½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ iostream, Π° Π²ΡΠΎΡΠ°Ρ β ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ»Π°ΡΡΠΎΠΌ pvm_stream ΠΈ ero ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ.