
рдореИрдВ рдПрдХ рдЦрд┐рд▓реМрдирд╛ рдУрдПрд╕ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдкрд░ рдмреНрд▓реЙрдЧ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реВрдВред
рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛ рдХрд┐ рд╕реА рдореЗрдВ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рдПред рдЕрдм, рдкрд╣рд▓реЗ рд▓рд┐рдЦреЗ рдЧрдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдПрдХ рд╕рд░рд▓ рдПрд╕рдПрдордкреА рдЕрдиреБрд╕реВрдЪрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╕рдВрднрд╡ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдРрдб-рдСрди рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡реНрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореНрдпреВрдЯреЗрдХреНрд╕)ред рдлрд┐рд░ рд╕реЗ, рдПрдХ рд╕реБрдВрджрд░ рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрд░рдЪрдирд╛ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реМрдВрджрд░реНрдп, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рджреБрдирд┐рдпрд╛ рдХреЛ рдмрдЪрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╡рд░реАрдпрддрд╛ рджреЗрддреЗ рд╣реИрдВред
рддреЛ, рдЪрд▓реЛ рд╣рдорд╛рд░реЗ рдпреЛрдЬрдирд╛рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдПрдХ рдзрд╛рдЧрд╛ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЕрдиреБрдордд рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ (рдЖрддреНрдореАрдпрддрд╛) рдХрд╛ рдПрдХ рдореБрдЦреМрдЯрд╛, рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдПрдХ рд░рди рдлрд╝рдВрдХреНрд╢рдиред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдзрд╛рд░рд╛ рдХреЛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╢реЗрдбреНрдпреВрд▓рд░ рдореЗрдореЛрд░реА рдХреЛ рдЖрд╡рдВрдЯрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЕрдиреНрдп рджреНрд╡рд╛рд░рд╛ рдереНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреЛ рдкреНрд░рд╛рдкреНрдд рдФрд░ рд╡рд╛рдкрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рдУрд░, рдпрд╣ рдереНрд░реЗрдб рдореЗрдореЛрд░реА рдХреЛ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд▓рдЪреАрд▓рд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рджреВрд╕рд░реА рдУрд░, рдпрд╣ рдмрд╛рд╣рд░реА рдореЗрдореЛрд░реА (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рд╛рд░реНрдб рдбрд┐рд╕реНрдХ рдкрд░) рдХреЛ рдЙрд╕рдХреЗ рдмрд╛рдж рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдФрд░ рдмрд╛рдзрд┐рдд рдЬрдЧрд╣ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреЛ рдмрдЪрд╛рдиреЗ рдХрд╛ рдПрдХ рдЕрдиреВрдард╛ рдЕрд╡рд╕рд░ рджреЗрдЧрд╛ред
рдЗрд╕рд▓рд┐рдП, рдЙрдкрд░реЛрдХреНрдд рдЕрдиреБрд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдЙрдкрд░реЛрдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк:
рдпрд╣рд╛рдВ рдПрдХ рдирдпрд╛ рдзрд╛рдЧрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
static uint64_t thread_proc(uint64_t input) {
рдЕрдм рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рджреЗрдЦрдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
рд╣рдорд╛рд░реЗ рдпреЛрдЬрдирд╛рдХрд╛рд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:
1. рд╕рднреА рдЬреЛрдбрд╝реЗ рдЧрдП рдзрд╛рдЧреЛрдВ рдХреА рд╕реВрдЪреАред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдкрд┐рдирд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рддред
2. рдирд┐рд╖реНрдХреНрд░рд┐рдп рдзрд╛рдЧреЛрдВ рдХреА рд╕реВрдЪреАред рдирд┐рд╖реНрдХреНрд░рд┐рдп рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд░реБрдХреЗ рд╣реБрдП рдФрд░ рд╕рдорд╛рдкреНрдд рдзрд╛рдЧреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдкрд┐рдирд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рддред
3. рд╕реАрдкреАрдпреВ рдХреЗ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ (рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд▓рд┐рдП рдПрдХ)ред рдЗрд╕рдореЗрдВ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрддрд╛рд░реЗрдВ рд╣реИрдВ, рд╕рд╛рде рд╣реА рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдп рд╕рдВрд░рдЪрдирд╛ (рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА)ред рд╕реАрдкреАрдпреВ рдХрд╛ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдкрд┐рдирд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред

рдирдпрд╛ рдзрд╛рдЧрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдХрд╛рдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕реВрдЪреА рдХрд╛ рд╕реНрдкрд┐рдирд▓реЙрдХ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╣рдо рдЗрд╕рдореЗрдВ рд╕реЗ рдПрдХ рддрддреНрд╡ рдирд┐рдХрд╛рд▓реЗрдВрдЧреЗ)ред рдпрд╣ рд╕реНрдкрд┐рдирд▓реЙрдХ рди рдХреЗрд╡рд▓ рд╕реВрдЪреА рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдереНрд░реЗрдбреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрд╕рдВрдЧрдд рд╕рдВрд╢реЛрдзрдиреЛрдВ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд╕рдВрдЪрд╛рд▓рди рдХреА рдкрд░рдорд╛рдгреБрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реБрдП, рд╡реНрдпрд╡рдзрд╛рди рдХреЛ рднреА рдмрд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдереНрд░реЗрдб рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрдиреБрд╕реВрдЪрд┐рдд рдереНрд░реЗрдбреНрд╕ рдХреА рдХрдо рд╕реЗ рдХрдо рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрд╕реЗрд╕рд░ (рдЖрддреНрдореАрдпрддрд╛ рдореЗрдВ рдЕрдиреБрдордд рд▓реЛрдЧреЛрдВ рд╕реЗ) рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИ - рдПрдХ рд╕рд░рд▓ рднрд╛рд░ рд╕рдВрддреБрд▓рди рд╡рд┐рдХрд▓реНрдкред
рдЗрд╕рд▓рд┐рдП, рд▓рдХреНрд╖реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдзрд╛рдЧрд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╕ рдРрд╕рд╛ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕реЗ рд╕реНрдкрд┐рдирд▓реЙрдХ рдХреЗ рд╕рд╛рде рдЕрд╡рд░реБрджреНрдз рдХрд░рдирд╛), рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рдПрдХ рдЯрд╛рдЗрдорд░ рд░реБрдХрд╛рд╡рдЯ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрддрд╛рд░ рдХреЛ рдЕрджреНрдпрддрди рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП, рдРрд╕реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЧрдИ рдмрд╛рдзрд╛ рдХреЛ рдзрд╛рдЧрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдХрд╛рд░реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рд░реНрдп рд╕рдВрд░рдЪрдирд╛, рдЬреЛ рдкрд╣рд▓реЗ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕реНрдкрд┐рдирд▓реЙрдХ рджреНрд╡рд╛рд░рд╛ рдЕрд╡рд░реБрджреНрдз рд╣реИ, рдореЗрдВ рднрд░реА рд╣реБрдИ рд╣реИ, рдлрд┐рд░ рд▓рдХреНрд╖реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдПрдХ рдмрд╛рдзрд╛ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИ (рдЙрд╕реА рдХрд╛рд░реНрдп рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ)ред рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╣рд╛рдВ рд▓рдХреНрд╖реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реНрдерд╛рдиреАрдп рд╣реИ, рд╡рд╣рд╛рдВ рдПрдХ рдмрд╛рдзрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЖрдЦрд┐рд░рдХрд╛рд░, рд╕реНрдкрд┐рдирд▓реЙрдХ рдиреЗ рд╕реНрдерд╛рдиреАрдп рдЕрд╡рд░реЛрдзреЛрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджрд┐рдпрд╛ рд╣реИ), рдЗрд╕рд▓рд┐рдП рдмрд╛рдзрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдХрд╛рд░реНрдп рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд▓рдХреНрд╖реНрдп рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдзрд╛рдЧрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рджреЛрдиреЛрдВ рд╕реНрдкрд┐рдирд▓реЙрдХ (рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдФрд░ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА) рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдорд╛рд░рд╛ рдзрд╛рдЧрд╛ рдирд┐рдпреЛрдЬрди рдХрддрд╛рд░ рдореЗрдВ рд╣реИ, рдФрд░ рдПрдХ рджрд┐рди рдЯрд╛рдЗрдорд░ рдЕрд╡рд░реЛрдзреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ (рдпрд╣ рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЙрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдЕрдиреНрдп рдереНрд░реЗрдбреНрд╕ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдкрд░ рднреА)ред
рдХреБрдЫ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдкреНрд░рд╕реНрддреБрддрд┐, рдХрдИ рдЪреАрдЬреЗрдВ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдмрдиреА рд░рд╣реАрдВ, рд▓реЗрдХрд┐рди рдЖрдЬ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИ, рддреЛ рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ред рдФрд░ рд╣рд╛рдБ, рдЖрдк рд╣рдореЗрд╢рд╛
рд╕реНрд░реЛрдд рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред