рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрд╣рд▓реБрдУрдВ рдХреЛ рдЫреВрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдЙрдмрд╛рдК рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ I / O, рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдЖрджрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдкреАрдЫрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
- рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢рдмреНрджрд╛рд╡рд▓реА рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ
- рдиреАрдВрд╡ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЬрд┐рд╕ рдкрд░ рдХрдИ рдЧреНрд░рд╛рд╣рдХ рд╕реЗрд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдП рдЧрдП рд╣реИрдВред
- рднрд╡рд┐рд╖реНрдп рдХреЗ рдЕрдЬрдЧрд░ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдгрдиреАрддрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВ рдЬрд┐рд╕реЗ рдХрдИ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП
- рдЕрдкрдиреЗ рд╕рд┐рд░ рдореЗрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЪрд┐рддреНрд░ рдмрдирд╛рдПрдВ (рдпрд╣ рдмрд┐рдирд╛ рдХрд╛рд░рдг рдХреЗ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ - рдЬрдм рдЖрдк рд╕рдордЭрд╛ рд╕рдХрддреЗ рд╣реИрдВ)
рдХреНрдпреЛрдВ?
PHP рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╡рд░реНрд╖реЛрдВ рдиреЗ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рд╣реИ - рдореИрдВрдиреЗ рдХрднреА рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдХрд┐ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЬрдм рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рд╢реБрд░реВ рд╣реБрдИрдВ, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдзреАрдореА рд╣реЛ рдЧрдИрдВ - рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдорди рдХреЛ рд▓реЗрдиреЗ рдХрд╛ рд╕рдордп рдерд╛ рдФрд░ рдЕрдЬрдЧрд░ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ (рдЬреЛ рдореИрдВ рдЕрдм рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)ред рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ "рдХрд╛рдВрдЯрд╛", "рд╕реЙрдХреЗрдЯ", "рдЗрд╡реЗрдВрдЯрд▓реВрдк", "рдорд▓реНрдЯреАрдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ", "рдПрдкреЛрд▓", рдЖрджрд┐ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╢рдмреНрджреЛрдВ рд╕реЗ рдердХ рдЧрдпрд╛ рдерд╛ред рдореИрдВрдиреЗ рдЧрд╣рд░реА рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЗрд╕рд╕реЗ рдЬреЛ рдирд┐рдХрд▓рд╛ рд╡рд╣ рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИред рдлрд┐рд░ рднреА, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рднреНрд░рдо рдореМрдЬреВрдж рд╣реИред рдЗрд╕ рдХреА рдкреБрд╖реНрдЯрд┐ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ [ 6 , 7 ]
int main ()
рдпрд╣ рдЖрд▓реЗрдЦ рд▓рд┐рдирдХреНрд╕ I / O рдкрд░ рд▓рд┐рдирдХреНрд╕ 2.6 рдФрд░ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╕рд╛рдордЧреНрд░реА рдореЗрд░реЗ рдЬреИрд╕реЗ рд▓реЛрдЧреЛрдВ рдкрд░ рдХрд╛рдлреА рд╣рдж рддрдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ (рдкрд╛рдиреА рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рдзреНрд╡рдирд┐ рдПрдирд╛рдЙрдВрд╕рд░ рд╕реЗ рд╕реБрд╕рдЬреНрдЬрд┐рдд рд╣реИ), рдЖрдкрдХреЛ рдХрдИ рдореВрд▓ рдмрд╛рддреЗрдВ рдХрд░рдиреА рд╣реЛрдВрдЧреА, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рдЙрди рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдЬрд┐рдирдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ
рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдПрдХ рдореМрд▓рд┐рдХ рдЕрдореВрд░реНрддрддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ "рд╕рдм рдХреБрдЫ рдПрдХ рдлрд╛рдЗрд▓ рд╣реИ" рдХреЗ рджрд░реНрд╢рди рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд╝рд╛рдЗрд▓ рдСрдкрд░реЗрд╢рди рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдПрдХ рдлрд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдпрд╛ рдПрдлрдбреАред рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓реЗрдВ (рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓) рд╣реИрдВ - рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо (рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрдереЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╛рдзрд╛рд░рдг "рдлрд╝рд╛рдЗрд▓" рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдФрд░ рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓реЗрдВ рдХреБрдЫ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рд┐рдирдХреНрд╕ 4 рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд┐рд╢реЗрд╖ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:
- рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ
- рдЪрд░рд┐рддреНрд░ I / O рдбрд┐рд╡рд╛рдЗрд╕ рдлрд╝рд╛рдЗрд▓реЗрдВ
- рдирд╛рдорд┐рдд рдкрд╛рдЗрдк (рдирд╛рдорд┐рдд рдкрд╛рдЗрдк рдпрд╛ рдлреАрдлреЛ)
- рд╕реЙрдХреЗрдЯ
рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдареАрдХ рд╣рдорд╛рд░реЗ рд╣рд┐рддреЛрдВ рдХрд╛ рдХреНрд╖реЗрддреНрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕реЙрдХреЗрдЯ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкреНрдпреВрдЯрд░ (рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░) рдкрд░ рд╕реНрдерд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реЙрдХреЗрдЯреНрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкрд╣рд▓реЗ рд╕рдиреНрдирд┐рдХрдЯрди рдореЗрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕реЙрдХреЗрдЯреНрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдореЙрдбрд▓
рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдпреВрдирд┐рдХреНрд╕ рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ, 5 + 1 рд╡рд┐рднрд┐рдиреНрди I / O рдореЙрдбрд▓ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред "рдкреНрд▓рд╕ рдПрдХ" рдореИрдВ рдереЛрдбрд╝рд╛ рдмрд╛рдж рдореЗрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбрд▓ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдЕрд╡рд░реЛрдзрдХ I / O (рдЕрд╡рд░реБрджреНрдз I / O)
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рдЗрдирдкреБрдЯ рдПрдХ рдЕрд╡рд░реБрджреНрдз рд╢реИрд▓реА рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реИред рдЕрд╡рд░реБрджреНрдз рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдПрдХ рдпреЛрдЬрдирд╛рдмрджреНрдз рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ recvfrom рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рдбреЗрдЯрд╛ рдЖрдиреЗ рддрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИ (рд╕реЛ рдЬрд╛рддреА рд╣реИ) рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдлрд░ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реИред
рдЙрд╕рдХреЗ рдмрд╛рдж, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ (рдУрдХреЗ рд▓реМрдЯреЗрдВ) рдФрд░ рд╣рдо рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдЦрд╛рдореА рд╣реИ - рдЬрдм рд╣рдо рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдФрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЖрджрд┐ рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ), рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЛрддреА рд╣реИ рдФрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддреА рд╣реИред
рдиреЙрдирдмреНрд▓реЙрдХрд┐рдВрдЧ рдЖрдИ / рдУ (рдиреЙрдирдмреНрд▓реЙрдХрд┐рдВрдЧ рдЖрдИ / рдУ)
рд╣рдо рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд░реНрдиреЗрд▓ рдХреЛ рдирд┐рдореНрди рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ: "рдпрджрд┐ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдЬреЛ рд╣рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╣ рдПрдХ рд▓реЙрдХ (рд╕реНрд▓реАрдк) рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдбреБрдмреЛрдП рдмрд┐рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рддреЛ рдореБрдЭреЗ рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдмрд┐рдирд╛ рдмреНрд▓реЙрдХ рдХрд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред" рдЧреИрд░-рдЕрд╡рд░реЛрдзрдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдпреЛрдЬрдирд╛рдмрджреНрдз рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ред
рдкрд╣рд▓реЗ рддреАрди рдмрд╛рд░ рд╣рдо рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рднреЗрдЬрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХрд░реНрдиреЗрд▓ рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдбреЗрдЯрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдмрд╕ рд╣рдореЗрдВ рдПрдХ EWOULDBLOCK рддреНрд░реБрдЯрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдВрддрд┐рдо рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕рдлрд▓ рд╣реЛрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдирддреАрдЬрддрди, рдХрд░реНрдиреЗрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдлрд░ рдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦреЗрдВрдЧреЗ рдФрд░ рд╡реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░, рдЖрдк рдПрдХ рд▓реВрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдиреЙрди-рдмреНрд▓реЙрдХрд┐рдВрдЧ рдореЛрдб рдореЗрдВ рдЦреБрд▓реЗ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рд░рд┐рдХрд╡реНрд░реЛрдо (рдЕрдиреБрд░реЛрдз рдбреЗрдЯрд╛) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдореЛрдб рдХреЛ рдорддрджрд╛рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рдЧрд╛рддрд╛рд░ рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдореВрд▓ рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХрдИ рд╕реЙрдХреЗрдЯ рдХреЛ рдкреЛрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдФрд░ рддрджрдиреБрд╕рд╛рд░ рдкрд╣рд▓реЗ рдПрдХ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рдмрдбрд╝реЗ рдУрд╡рд░рд╣реЗрдб (рдкреНрд░реЛрд╕реЗрд╕рд░ рдУрд╡рд░рд╣реЗрдб) рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред
рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ I / O (рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ I / O)
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рд╢рдмреНрдж "рд╕рдВрдШрдирди" рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рдордп рдкреНрд░рдмрдВрдзрди рдХреЗ рдЖрджрд░реНрд╢ рд╡рд╛рдХреНрдп рджреНрд╡рд╛рд░рд╛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - "рдЕрдзрд┐рдХ рдХрд░рдирд╛ рд╕реАрдЦреЗрдВред" рдЬрдм I / O рдХреЛ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо OS рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдУрд░ рдореБрдбрд╝рддреЗ рд╣реИрдВ (рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░ рдЬреИрд╕реЗ рд╕реЗрд▓реЗрдХреНрдЯ, рдкреЛрд▓, рдкреЗрд╕реЗрд▓реЗрдЯ, рджреЗрд╡ / рдкреЛрд▓, рдПрдкреЛрд▓ (рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд), рдХреЗрдХреНрдпреВрдпреВ (рдмреАрдПрд╕рдбреА)) рдФрд░ рдЙрд╕ рдкрд░ рдмреНрд▓реЙрдХ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕реЗ рдмреНрд▓реЙрдХ рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ I / O рдХреЙрд▓ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕реЙрдХреЗрдЯ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП select'a рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрд╡рд░реБрджреНрдз рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдХрд░реНрдиреЗрд▓ рд╣рдореЗрдВ рдкрдардиреАрдп рд╕реНрдерд┐рддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЖрдк рд░рд┐рдХрд╡рд░рдлреНрд░реЗрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ - рдПрдХ рдкреВрд░реА рдирд┐рд░рд╛рд╢рд╛ред рдПрдХ рд╣реА рд▓реЙрдХ, рдкреНрд░рддреАрдХреНрд╖рд╛, рдФрд░ 2 рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ (рдЪреБрдирд┐рдВрджрд╛ рдФрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐) - рдЙрдЪреНрдЪ рдУрд╡рд░рд╣реЗрдбред рд▓реЗрдХрд┐рди рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЪрдпрди рдХрд░реЗрдВ (рдФрд░ рдХреЛрдИ рднреА рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕) рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдПрдХ рд╕реЗ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХрдИ рдлрд╝рд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореБрдЭреЗ рдХрд╣рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рдХрдИ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреА рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╕рдВрд╕рд╛рдзрди рдХрд╛рдлреА рд╕реАрдорд┐рдд рд╣реИрдВред рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕ рдбрд╛рдЙрдирдЯрд╛рдЗрдо (рдиреАрдВрдж) рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЫрд╡рд┐ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛
рд╕реЙрдХреЗрдЯ рдХреЗ рдЕрдиреБрд░реВрдк рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХрд╛ рдПрдХ рдкреВрд▓ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рднрд▓реЗ рд╣реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рджреМрд░рд╛рди EINPROGRESS рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрдИ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рд╣рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░ рдЕрднреА рднреА рд╡рд╣реА рд▓реЗрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рдореБрдХреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЕрдм рдзреНрдпрд╛рди! рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд!
рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдВ: рдХрд┐рд╕ рдШрдЯрдирд╛ рдХреА рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ? рдЗрд╡реЗрдВрдЯ A рдХреЗ рд▓рд┐рдП, рдХрд┐ рдбреЗрдЯрд╛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЗрд╡реЗрдВрдЯ B рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛, рдХрд┐ рдбреЗрдЯрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╕реЙрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛ ? ред рдЙрддреНрддрд░: рдмреА
рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рд╕реЙрдХреЗрдЯреНрд╕ рдХреЛ рдПрдХ рд▓реВрдк рдореЗрдВ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рддреИрдпрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЬрдм рд╣рдо рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рджреВрд╕рд░реЗ рднреА рд╕рдордп рдкрд░ рдкрд╣реБрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛рдиреА рд╣рдо рдирд┐рд╖реНрдХреНрд░рд┐рдп рд╕рдордп рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрдо рдХрд░ рджреЗрддреЗ рд╣реИрдВ (рдкрд╣рд▓реА рдмрд╛рд░ рд╣рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдХреА рд╕рдордп - рдмрд╣реБрдд рдХрдо)ред
рдпрджрд┐ рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ (рдЕрд╡рд░реБрджреНрдз рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде) рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрд┐рд╕ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкрд╣рд▓реЗ рджреВрд╕рд░реЗ рд╕реЗрдХрдВрдб рдХреЛ рдкрдврд╝рдирд╛ рд╣реИ, рдЖрджрд┐ред рдпрд╛рдиреА рд╣рдо 100% рдЧрд▓рдд рд╣реИрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдпрджреНрдпрдкрд┐ рд╣рдо рдЗрд╕ рд╕рдордп рдХреЛ рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ
I / O рдЗрди рдереНрд░реЗрдбреНрд╕ / рдЪрд╛рдЗрд▓реНрдб рдкреНрд░реЛрд╕реЗрд╕ (рдПрдХ рдлрд╛рдЗрд▓ рдбрд┐рд╕реНрдХреНрд░рд░ рдкреНрд░рддрд┐ рдереНрд░реЗрдб рдпрд╛ рдкреНрд░реЛрд╕реЗрд╕)
рд╢реБрд░реБрдЖрдд рдореЗрдВ рдпрд╣ рдХрд╣рдирд╛ рдХрд┐ 5 + 1 рд╡рд┐рдзрд┐ рд╣реИ, рдпрд╣ рдареАрдХ рд╡рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдерд╛ рдЬрдм рдХрдИ рдзрд╛рд░рд╛рдУрдВ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ I / O рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ I / O рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ - рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХрд╛рдлреА рдорд╣рдВрдЧреЗ рд╣реИрдВ (рддрдерд╛рдХрдерд┐рдд рд╕рд┐рд╕реНрдЯрдо рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде), рдЗрд╕рд▓рд┐рдП рдереНрд░реЗрдбреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдУрд╡рд░рд╣реЗрдб рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реЛрддреА рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдЕрдЬрдЧрд░ рдХреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдореЗрдВ рдПрдХ GIL рд╣реИ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рд╕рдордп рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд╖рдг, рдХреЗрд╡рд▓ 1 рдереНрд░реЗрдб рдХреЛ 1 рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрджрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЕрд╡рд░реБрджреНрдз рд╢реИрд▓реА рдореЗрдВ I / O рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдмрдирд╛рдирд╛ рд╣реИред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ (рдЖрдИрдкреАрд╕реА - рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрд╕ рд╕рдВрдЪрд╛рд░) рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рдХрдард┐рдирд╛рдЗрдпрд╛рдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдХреЛрд░ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рдПрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд╕рдВрджрд┐рдЧреНрдз рд▓рд╛рдн рд╣реИред рд╡реИрд╕реЗ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЕрдкрд╛рдЪреЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ (рдПрдордкреАрдПрдо рдкреНрд░реАрдлрд╝реЙрд░реНрдХ рдпрд╛ рдереНрд░реЗрдбреНрд╕) рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдереНрд░реЗрдб рдореЗрдВ рдпрд╛ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрдирдкреБрдЯ рд╕рд┐рдЧреНрдирд▓-рд╕рдВрдЪрд╛рд▓рд┐рдд рдЖрдЙрдЯрдкреБрдЯ (рд╕рд┐рдЧреНрдирд▓-рд╕рдВрдЪрд╛рд▓рд┐рдд I / O)
рд╕рд┐рдЧреНрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдХрд░реНрдиреЗрд▓ рдХреЛ рд╣рдореЗрдВ SIGIO рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рд╕рдВрдХреЗрдд рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рд╣реИрдВрдбрд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ)ред рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЙрдХреЗрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рд╕рд┐рдЧрдиреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рддреБрд░рдВрдд рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрд╡реЗрджрди рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЛрд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдпрд╣ рдореЙрдирд┐рдЯрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдПрдХ SIGIO рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬрддрд╛ рд╣реИ, рдЬреЛ рдЙрд╕ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ (рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди, рдХреЙрд▓рдмреИрдХ)ред рддрджрдиреБрд╕рд╛рд░, рд░рд┐рдХрд╡рд░рдлреНрд░реЙрдо рдХреЙрд▓ рд╕реНрд╡рдпрдВ рд╕рд┐рдЧреНрдирд▓ рд╣реИрдВрдбрд▓рд░ рдпрд╛ рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ - рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛рдиреА рд╣рдо рдПрдХ рд╕рдордп рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ fd рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ)
рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ I / O (рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ I / O)
рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╡рд┐рд╢реЗрд╖ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ - рдХрд░реНрдиреЗрд▓ рдХреЛ рдСрдкрд░реЗрд╢рди рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рджреА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╣рдореЗрдВ рд╕реВрдЪрд┐рдд (рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрд╛ рдХрд┐рд╕реА рддрд░рд╣) рдЬрдм I / O рдСрдкрд░реЗрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрдлрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рд╕рд╣рд┐рдд)ред рдпрд╣ рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдФрд░ рд╕рдВрдХреЗрддреЛрдВ рдкрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдЕрдВрддрд░ рд╣реИред рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдирдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЫрд╡рд┐ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╣рдо рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ aio_read рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдмрд╛рдХреА рдХрд╛рдо рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреЛрд░ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреЗрд╢рдХ, рдПрдХ рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ I / O рдкреВрд░реНрдг рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрд╕ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХред
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдЗрд╕ рд╢рдмреНрдж рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рд▓рд┐рдВрдХ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд▓реЗ рд╣реА рджрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рдЕрдХреНрд╕рд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ, рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдФрд░ рдмрд╣реБрд╕рдВрдХреЗрддрди рдЗрдирдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмреАрдЪ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рднреНрд░рдо рд╣реЛрддрд╛ рд╣реИ, рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ "рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдореЗрд░реА рд╕рдордЭ рдореЗрдВ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛ рдорддрд▓рдм рд╕рдордп рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред рдпрд╣реА рд╣реИ, рдПрдХ рдмрд╛рд░ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЬрдм рддрдХ рд╡рд╣ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддрд╛, рддрдм рддрдХ рд╡рд╣ рдЕрдкрдирд╛ рдЬреАрд╡рди рдЬреАрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╣рдореЗрдВ рдмрд╕ рдЗрд╕рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдХрд╛рд░реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрдиред рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд░реЗрдВ:
- рд▓реЙрдХ рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдзрд╛рдЧрд╛ / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рд▓рд╛рднрджрд╛рдпрдХ рдирд╣реАрдВ
- рд╡рд┐рднрд┐рдиреНрди рдереНрд░реЗрдб / рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯред рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб / рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ
- рд╡рд┐рднрд┐рдиреНрди рдереНрд░реЗрдб / рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдХрдИ рдХреНрд▓рд╛рдЗрдВрдЯред рдкреНрд░рдпреБрдХреНрдд рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ (aio)
- рдмрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░реЗрдВ
C10K рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА
рдкрд░рд┐рдгрд╛рдо
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЕрдм рдХрдо рд╕реЗ рдХрдо рдЙрди рдЪреАрдЬреЛрдВ рдХреЗ рдЕрдВрддрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рдирдореЗрдВ рднреНрд░рдорд┐рдд рд╣реЛрдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рд╣рд╛рдБ, рдорд▓реНрдЯреАрдкреНрд▓реЗрдХреНрд╕рд┐рдВрдЧ рдирд┐рдпрдо (рдЬрдм рддрдХ рд╡реЗ рдПрдУрдЖрдИ рдЦрддреНрдо рдирд╣реАрдВ рдХрд░рддреЗ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред
рд╕рдВрджрд░реНрдн рд╕рд╛рд╣рд┐рддреНрдп рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рдХрд┐, рд╕реЙрдХреЗрдЯреНрд╕ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдирд┐рдпрдорд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рдореЛрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Aio рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рдЪрд░реНрдЪрд╛ рдпрд╣рд╛рдВ рдХреА рдЧрдИ рд╣реИ: рд▓рд┐рди рдкрд░ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ I / O рдпрд╛ рдирд░рдХ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ
рд╕рд╛рд╣рд┐рддреНрдп рдФрд░ рд╕рдВрджрд░реНрдн
- рд░реЙрдмрд░реНрдЯ рд▓рд╡ тАЬрд▓рд┐рдирдХреНрд╕ред рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ
- рдбрдмреНрд▓реНрдпреВред рд░рд┐рдЪрд░реНрдб рд╕реНрдЯреАрд╡рдВрд╕, рдмрд┐рд▓ рдлреЗрдирд░, рдПрдВрдбреНрд░рдпреВ рдПрдоред рд░реБрдбреЙрдлрд╝ "рдпреВрдирд┐рдХреНрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡реЙрд▓реНрдпреВрдо 1, рддреАрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг: рд╕реЙрдХреЗрдЯ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдиреЗрдЯрд╡рд░реНрдХ"
- рд╕реНрдЯреАрд╡рдВрд╕ рдЖрд░ред, рд░рд╛рдЧреЛ рдПрд╕ рдпреВрдирд┐рдХреНрд╕ред рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рджреВрд╕рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг
- рд╣рд░ рдХрд┐рд╕реА рдХреА рдкрд╕рдВрджреАрджрд╛ C10K рд╕рдорд╕реНрдпрд╛
- рд▓рд┐рдиреЛрд▓ рдкрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ I / O рдпрд╛ рдирд░рдХ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ
- рджреЛ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди I / O рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛
- рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдмрдирд╛рдо рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз
- рдмреНрд▓реЙрдХрд┐рдВрдЧ рдмрдирд╛рдо рдЧреИрд░-рдЕрд╡рд░реБрджреНрдз рд╕реЙрдХреЗрдЯ