рдлреНрд░реАрдмреА рд╡рд┐рддрд░рдг: рдЬрд╛рд╡рд╛ рдореЗрдВ рдЧреИрд░-рдмреНрд░реЗрдХрд┐рдВрдЧ рдереНрд░реЗрдбреНрд╕ред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реВрдо

рдХреНрдпрд╛ рдЖрдк рдЬрд╛рд╡рд╛ рдереНрд░реЗрдбреНрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рд╕реНрдореГрддрд┐ рдХреЛ рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╡реЗ рд╕реНрд╡рдпрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдзреАрдорд╛ рдирд╣реАрдВ рд╣реИ? рдЕрдЪреНрдЫрд╛ рдХреНрд░реЗрдбрд┐рдЯ, рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред


рд╣рдо рдкрд┐рдЬреНрдЬрд╛ рдмрдХреНрд╕реЗ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реВрдо рдХреЗ рдХрд╛рдо рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ! рдЪрд▓реЛ!


рдпрд╣ рд╕рдм рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реИрдмрд░ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред





рд╕рдВрдХреЗрдд рдХрд╣рддреЗ рд╣реИрдВ


рдХреНрдпрд╛ рдЖрдк рдЕрдХреНрд╕рд░ рдЗрд╕ рдЪрд┐рддреНрд░ рдХреЛ рдЕрдкрдиреА рд╡реЗрдм рд╕реЗрд╡рд╛ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛, рдлрд┐рд░ рдПрдХ рд▓рд╛рдЦ рдЪреАрдиреА рдЖрдкрдХреЗ рдкрд╛рд╕ рдЖрдП, рд╕реЗрд╡рд╛ рдиреЗ рдПрдХ рд▓рд╛рдЦ рд╕реВрддреНрд░ рдмрдирд╛ рджрд┐рдП рдФрд░ рдирд░рдХ рдореЗрдВ рдбреВрдм рдЧрдП?





рдХреНрдпрд╛ рдЖрдк рдРрд╕реА рдЕрдЪреНрдЫреА рддрд╕реНрд╡реАрд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?





рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдХреНрдпрд╛ рдЖрдк рдЬрд╛рд╡рд╛ рдереНрд░реЗрдбреНрд╕ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдореЗрдореЛрд░реА рдирд╣реАрдВ рдЦрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрд╡рдпрдВ рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдзреАрдорд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЕрдЪреНрдЫрд╛ рдХреНрд░реЗрдбрд┐рдЯ, рдФрд░ рдпрд╣ рдореБрджреНрджрд╛ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддрд╛ рд╣реИред


рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдирдП рдврд╛рдВрдЪреЗ рдХреЛ рдЦреЛрд▓реЗрдВрдЧреЗ ред рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХреИрд╕реЗ Wylsacom iPhones рдХреЛ рдЕрдирдкреИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛? рдХреБрдЫ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреБрд░рд╛рдиреЗ рд╕рдореАрдХреНрд╖рдХреЛрдВ рдХреЛ рдпрд╛рдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рд╣рдмрд░ рдПрдХ рдореБрдЦреНрдпрдзрд╛рд░рд╛ рдХрд╛ рдЧрдврд╝ рд╣реИ, рдФрд░ рдкреЗрдб рд╡рд┐рджреЛрд╕, рд╕реЙрд░реА, рдбрд╛рдпрд░рд┐рдпрд╛ рдХреА рдХрд┐рд░рдгреЗрдВ рд╣реИрдВ ред рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрдХрдиреАрдХреА рдХрдЯреНрдЯрд░ рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдиреЗрддреНрд░рдЧреЛрд▓рдХ рдХреЛ рджреЛ рдорд┐рдирдЯ, рдЕрд╕реНрд╡реАрдХрд░рдг рдФрд░ рдЕрдиреНрдп рдХрдЪрд░рд╛, рдЬреЛ рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реИрдВ рддреЛ рдЖрдк рдЗрд╕реЗ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред


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


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


рдРрд╕рд╛ рди рдХрд░реЗрдВ, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд▓реВрдо рдХреНрдпрд╛ рд╣реИ, рдпрд╛ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЖрдЧреЗ рдкрдврд╝реЗрдВ, рдореИрдВ рд╕рдм рдХреБрдЫ рд╕рдордЭрд╛рдКрдВрдЧрд╛ред


рддреЛ, рдЬрдЯрд┐рд▓рддрд╛ рдХреНрдпрд╛ рд╣реИред рдРрд╕рд╛ рдПрдХ рджреЛрд╕реНрдд рд╣реИ, рд░реЙрди рдкреНрд░реЗрд╕реНрд▓рд░ред






рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓, рд╡рд╣ рдореЗрд▓рд┐рдВрдЧ рд╕реВрдЪреА рдореЗрдВ рдЧрдпрд╛ , рдЙрд╕рдиреЗ рдХрд╣рд╛ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рдзрд╛рдЧреЗ рдмреЗрдХрд╛рд░ рд╣реИрдВ, рдФрд░ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдХрд┐ рд╡рд╣ рд░рдирдЯрд╛рдЗрдо рдЪрд▓рд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВред рдФрд░ рд╣рд░ рдХреЛрдИ рдЙрд╕ рдкрд░ рд╣рдВрд╕рддрд╛ рдФрд░ рдкрддреНрдерд░ рдлреЗрдВрдХрддрд╛, рдмрдХрд╡рд╛рд╕ рдХрд░рддрд╛, рдЕрдЧрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐ рдЙрд╕рдиреЗ рдкрд╣рд▓реЗ рдХреНрд╡рд╛рд╕рд░ рд▓рд┐рдЦрд╛ рдерд╛, рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдХреНрд╡рд╛рд╕рд░ рдкрд░ рд╢рдкрде рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣рд╛рдБ рд╣реИ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрди рд╕рднреА рдХреА рдмрдбрд╝реА рддрд╕реНрд╡реАрд░ рдореЗрдВ рдпрд╣ рдПрдХ рдЙрдкрд▓рдмреНрдзрд┐ рд╣реИред


рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЧреЛрд╡рд╛рдиреЛрдХреЙрдбреА рдХрд╛ рдПрдХ рдирд░рдХ рд╣реИ рдЬреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рдХрд╣рддреЗ рд╣реИрдВред рдЦреИрд░, рдареАрдХ рд╣реИ, рдореИрдВ рд╡рд╣реА рд╣реВрдВред рдпрд╛ рдРрд╕реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рд╢рд╛рдВрдд рдЗрдВрдЬреАрдирд┐рдпрд░ рд▓рдЧрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдмреЗрд╣реЛрд╢ рдореЗрдВ, рд╡реЗ рдпреЗ рдХрд╣рддреЗ рд╣реИрдВ: "рдЬрд╛рд╡рд╛ рдореЗрдВ, рдЖрдкрдХреЛ рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред" рдХреНрдпрд╛ рд╕реБрдзрд╛рд░ рдХрд░рдирд╛ рд╣реИ? рдзрд╛рдЧреЗ рдХреНрдпрд╛ рд╣реИрдВ?


рд▓реЛрдЧ рдЖрдорддреМрд░ рдкрд░ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд▓рд╕реА рд╣реЛрддреЗ рд╣реИрдВред


рдордЬрд╛рдХ рдореЗрдВ:
рдкреЗрдЯреНрдХрд╛ рдФрд░ рд╡рд╛рд╕рд┐рд▓реА рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рдПрдХ рд╡рд┐рдорд╛рди рдкрд░ рдЙрдбрд╝рд╛рди рднрд░рддреЗ рд╣реИрдВред
рд╡рд╛рд╕рд┐рд▓реА рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ рдкреВрдЫрддрд╛ рд╣реИ: - рдкреЗрдЯрдХрд╛, рдЙрдкрдХрд░рдг?
рдкреЗрдЯрдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреА рд╣реИ: - реирежреж!
рд╡рд╛рд╕рд┐рд▓реА рдЗрд╡рд╛рдиреЛрд╡рд┐рдЪ: - рдФрд░ 200 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
рдкреЗрдЯрдХрд╛: - рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?


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


рдФрд░ рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЫрд╣ рдорд╣реАрдиреЗ рднреА рдирд╣реАрдВ рдмреАрддреЗ рд╣реИрдВ рдХрд┐ рд▓реЛрдЧ рдореЗрд░реА рдЧрд╛рдбрд╝реА рдХреЛ рдЦрдЯрдЦрдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рджреЗрдЦреЛ, рд╣рдордиреЗ рд▓рд┐рдмрд░ рдкрд░ рд╣рд▓ рдореЗрдВ рдареЗрд╕ рд▓рдЧрд╛ рджреА рд╣реИ, рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреЗрд▓рд╛рд░реВрд╕реА jfuture.by konf рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд░рд┐рдкреЛрд░реНрдЯ рд╣реИред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред рдпрд╣ рдХреБрдЫ рдШрдЯрд┐рдпрд╛ рдЗрдВрдЬреАрд▓рд╡рд╛рджреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рджреЛрд╕реНрдд, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЗрдВрдЬреАрдирд┐рдпрд░ рд╣реИред


рд╡реИрд╕реЗ, рд╣рдо рдЬрд▓реНрдж рд╣реА рдПрдХ рдЬреЛрдХрд░ 2018 рд╕рдореНрдореЗрд▓рди рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рдореЗрдВ рдЖрдВрджреНрд░реЗрдИ рдмреНрд░реЗрд╕реНрд▓реЗрд╡ (рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдХреЛрд░рдЯрд╛рдЗрдиреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдлрд╡рд╛рд╣ ), рдФрд░ рдкрд╛рд╢рд╛ рдлрд┐рдВрдХреИрд▓рд╕реНрдЯрд╛рдЗрди , рдФрд░ рдЬреЛрд╢ рд▓рд╛рдВрдЧ рджреЛрдиреЛрдВ рдХреЛ рд▓реВрдо рдХреЗ рд▓рд┐рдП рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЦреИрд░, рдФрд░ рд╢рд╛рдВрдд рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣, рдЪрд▓реЛ!

рдФрд░ рдЕрдм, рдереНрд░реЗрдб рдкрд░ рд▓реМрдЯ рд░рд╣реЗ рд╣реИрдВред рд▓реЛрдЧ рдЕрдкрдиреЗ рдЕрдкрдорд╛рдирд┐рдд рджреЛ рдиреНрдпреВрд░реЙрдиреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдШреБрдорд╛рд╡рджрд╛рд░ рдЙрдирдХреА рдореБрдЯреНрдареА рдкрд░ рдЧрд╛рдБрда, рдФрд░ рдЧреБрдирдЧреБрди: "рдЬрд╛рд╡рд╛ рдореЗрдВ рдзрд╛рдЧреЗ рдЗрд╕ рддрд░рд╣ рдирд╣реАрдВ рд╣реИрдВ, рдЬрд╛рд╡рд╛ рдореЗрдВ рдзрд╛рдЧреЗ рдРрд╕реЗ рдирд╣реАрдВ рд╣реИрдВред" рдбрд┐рд╡рд╛рдЗрд╕! рдХреНрдпрд╛ рдЙрдкрдХрд░рдг? рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдирд░рдХ рд╣реИред


рдФрд░ рдпрд╣рд╛рдБ рдкреНрд░реЗрд╕реНрд▓рд░ рдЖрддрд╛ рд╣реИ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп, рдЕрдкрдорд╛рдирд┐рдд рджреЛрд╕реНрдд рдирд╣реАрдВ, рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╡рд╣ рдПрдХ рд╕рдордЭрджрд╛рд░ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж, рдПрдХ рдХрд╛рдордХрд╛рдЬреА рдбреЗрдореЛ рджреЗрдЦрд╛ред рдореИрдВрдиреЗ рдпрд╣ рд╕рдм рдЗрд╕рд▓рд┐рдП рдХрд╣рд╛ рддрд╛рдХрд┐ рдЖрдк рд╕рдордЭ рд╕рдХреЗрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╡рд░рдг, рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рд▓реЗрдЦрди рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреА рдРрд╕реА рд╡реАрд░рддрд╛ рд╣реИред рдФрд░ рдбреЗрдореЛ рдЖрдо рддреМрд░ рдкрд░ рдЕрдВрддрд░рд┐рдХреНрд╖ рд╣реИред рдпрд╣ рдкрд╣рд▓рд╛ рд╡реНрдпрдХреНрддрд┐ рд╣реИ рдЬрд┐рд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдХреБрдЫ рднреА рдХрд┐рдпрд╛ рд╣реИред рдЙрд╕реЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдЬрд░реВрд░рдд рд╣реИред


рдбреЗрдореЛ рдХреЗ рд╕рд╛рде, рдкреНрд░реЗрд╕реНрд▓рд░ рдиреЗ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдмрд╛рдд рдХреА рдФрд░ рдЗрд╕ рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЬрд╛рд░реА рдХрд┐рдпрд╛:



рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрд╣ рдкреВрд░рд╛ рд▓реЗрдЦ рд╡рд╣рд╛рдВ рдХреА рдХрд╣реА рдЧрдИ рдмрд╛рддреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рд╣реИред рдореИрдВ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣ рд░реЙрди рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред


рдЪрд░реНрдЪрд╛ рддреАрди рджрд░реНрджрдирд╛рдХ рд╡рд┐рд╖рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ:


  • Continations
  • рд░реЗрд╢реЗ
  • рдЯреЗрд▓ рдХреЙрд▓

рд╕рдВрднрд╡рддрдГ, рд╡рд╣ рдХреНрд╡рд╛рд╕рд░ рдХреЛ рджреЗрдЦрдХрд░ рдФрд░ рдЙрд╕рдХреА рдЪрдордХ рдХреЗ рд╕рд╛рде рд▓рдбрд╝рддреЗ рд╣реБрдП рдЗрддрдирд╛ рдмреАрдорд╛рд░ рд╣реЛ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдХреЛрдИ рддрд╛рдХрдд рдирд╣реАрдВ рд╣реИ - рдЖрдкрдХреЛ рдЗрд╕реЗ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЪрдордХрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред


рдпрд╣ рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдерд╛, рдФрд░ рддрдм рд╕реЗ рд╡реЗ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЙрдореНрдореАрдж рдЦреЛ рджреА рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рд╕реА рджрд┐рди рдбреЗрдореЛ рджреЗрдЦреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдПрдХ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдЬрдиреНрдо рджрд┐рдпрд╛ рдФрд░ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдЗрд╕ рдЯреНрд╡реАрдЯ рдкрд░ рдХреНрдпрд╛ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИред






рдЗрд╕ рдбреЗрдореЛ рдореЗрдВ рд╕рднреА рддреАрди рджрд░реНрджрдирд╛рдХ рд╡рд┐рд╖рдп рдпрд╛ рддреЛ рд╕реАрдзреЗ рдХреЛрдб рдореЗрдВ рд╣реИрдВ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдиреИрддрд┐рдХ рд░реВрдк рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВред рдЦреИрд░, рд╣рд╛рдВ, рдЙрдиреНрд╣реЗрдВ рдЕрднреА рддрдХ рдкреВрдВрдЫ рдХреЙрд▓ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред


рд╕рдорд╕реНрдпрд╛рдУрдВ


рдЬрдм рд╡реЗ рдПрдХ рдПрдкреАрдЖрдИ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдирд╛рдЦреБрд╢ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рджреЛ рдХреБрд░реНрд╕рд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдХреБрд░реНрд╕реА рдкрд░ рдЪреЛрдЯрд┐рдпрд╛рдВ рдмрдиреА рд╣реИрдВ, рджреВрд╕рд░реА рддрд░рдл рдлреВрд▓ рдЙрдЧрддреЗ рд╣реИрдВред рдФрд░ рди рд╣реА рдХреЛрдИ рджреВрд╕рд░рд╛ рд╣рдореЗрдВ рд╕реВрдЯ рдХрд░рддрд╛ рд╣реИред






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


(рдареАрдХ рд╣реИ, рд╣рд╛рдБ, рдЗрд╕рдХрд╛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдХреБрдЫ рд▓реЗрдирд╛-рджреЗрдирд╛ рд╣реИ рдХрд┐ рдЬрд╛рд╡рд╛ рдореЗрдВ рд╕реЙрдХреЗрдЯреНрд╕ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрдиреНрдп рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ)


рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк рдХрд┐рд╕реА рддрд░рд╣ рдХреЗ MMO рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред






рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдИрд╡реАрдИ рдСрдирд▓рд╛рдЗрди рдореЗрдВ рдЙрддреНрддрд░реА рдпреБрджреНрдз рдХреЗ рджреМрд░рд╛рди, рджреЛ рд╣рдЬрд╛рд░ рдЪрд╛рд░ рд╕реМ рдкрд╛рдпрд▓рдЯ рдЕрдВрддрд░рд┐рдХреНрд╖ рдореЗрдВ рдПрдХ рдмрд┐рдВрджреБ рдкрд░ рдПрдХрддреНрд░ рд╣реБрдП, рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ - рд╕рд╢рд░реНрдд, рдЕрдЧрд░ рдпрд╣ рдЬрд╛рд╡рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ - рдПрдХ рдзрд╛рдЧрд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдХрдИред рдФрд░ рдкрд╛рдпрд▓рдЯ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рдЬрдЯрд┐рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА HTML рдХреЗ рдЬрд╛рд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬрд┐рд╕реЗ рдПрдХ рдЖрд╡рд░реНрдзрдХ рдХрд╛рдВрдЪ рдореЗрдВ рд╣рд╛рде рд╕реЗ рдЦрд╛рд░рд┐рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдЙрд╕ рд▓рдбрд╝рд╛рдИ рдореЗрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╕рдордп рдЗрддрдирд╛ рд▓рдВрдмрд╛ рдерд╛ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╢реЙрдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд┐рдирдЯ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдЙрд╕ рд▓рдбрд╝рд╛рдИ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕реАрд╕реАрдкреА рдиреЗ рдЕрдкрдиреЗ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд╡рд┐рд╢рд╛рд▓ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдлреЗрдВрдХ рджрд┐рдпрд╛ред


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


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



рд╣рдо рд╡рд┐рд╖рдп рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВред


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


рдореИрдВрдиреЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ, рдкреНрд░рд╕рд┐рджреНрдз рд╢рд┐рдХреНрд╖рд╛рд╡рд┐рдж рдПрд╕реНрдХреЛрдмрд╛рд░ рд╕реЗ рдкреВрдЫрд╛ рдХрд┐ рд╡рд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ:






рдХреНрдпрд╛ рдХрд░реЗрдВ? рддрдерд╛рдХрдерд┐рдд faybers рдмрдЪрд╛рд╡ рдХреЗ рд▓рд┐рдП рднрд╛рдЧрддреЗ рд╣реИрдВред


рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдлрд╛рдЗрдмрд░ рдРрд╕реЗ рд╣рд▓реНрдХреЗ рдзрд╛рдЧреЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдкрддрд╛ рд╕реНрдерд╛рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднреА рд░рдЧрдбрд╝рддреЗ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдЪрдорддреНрдХрд╛рд░ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рд╕рд╛рдзрд╛рд░рдг рдзрд╛рдЧреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗ рдкреНрд░реАрдореЗрдкреНрдЯрд┐рд╡ рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╣рдХрд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рдХрд╛ред рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ рдЕрдзрд┐рдХ рдкрдврд╝реЗрдВ


рдлрд╛рдЗрдмрд░ рддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреЛрдиреЛрдВ рдХреЗ рдлрд╛рдпрджреЛрдВ рдХреЛ рдорд╣рд╕реВрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдирддреАрдЬрддрди, рд▓реЛрд╣реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдврд╝ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдПрдХ рд╣реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рдХрдо рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдареАрдХ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЬреЗрдм рдореЗрдВ рд╣рдореЗрдВ рд▓реИрд╡реЗрдВрдбрд░ рдорд┐рд▓рддрд╛ рд╣реИред Babosyред рдирд╣рд╛рдирд╛ред рдордиреАред рдЦреИрд░, рдЖрдк рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред рд╕рд╣реЗрдЬреЗ рдЧрдП рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдПред


рдЪреМрд░рд╛рд╣реЗ рдкрд░


рдкрд╣рд▓реА рдмрд╛рдд рдореИрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд▓реЛрдЧ рдирд┐рд░рдВрддрд░рддрд╛ рдФрд░ рдлрд╛рдЗрдмрд░ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВред
рдЕрдм рдХрд▓реНрдЯ рдЬреНрдЮрд╛рди рд╣реЛрдЧрд╛!


рд╣рдо рдЗрд╕ рддрдереНрдп рдХреА рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗ: рдирд┐рд░рдВрддрд░рддрд╛ рдФрд░ рдлрд╛рдЗрдмрд░ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЗрдВ рд╣реИрдВред


рдирд┐рд░рдВрддрд░рддрд╛


рддрдВрддреБрдУрдВ рдХреЛ рдПрдХ рдореИрдХреЗрдирд┐рдХ рдХреЗ рдКрдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХреЙрдиреНрдЯрд┐рдиреНрдпреВрд╢рди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред


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


рдореИрдВ "рдирд┐рд░рдВрддрд░рддрд╛" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рди рдХрд┐ "рдирд┐рд░рдВрддрд░рддрд╛" (рдЬреИрд╕рд╛ рдХрд┐ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдкрд░ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ), рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╕рднреА рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдореЗрдВ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ ред рд╕рд╛рдорд╛рдиреНрдп рд░реВрд╕реА рд╢рдмреНрджрд╛рд╡рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХреЛрдИ рднреА рдЖрд╕рд╛рдиреА рд╕реЗ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд░реВрд╕реА рдФрд░ рдЕрдВрдЧреНрд░реЗрдЬреА рд╢рдмреНрдж рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдЕрд░реНрде рдХреЛ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ рдЬреЛ рдХрд╣рд╛ рдЧрдпрд╛ рдерд╛ред


рдореИрдВ рдХрднреА-рдХрднреА "рдЙрдкрдЬ" рдХреЗ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрдЬрд╛рдп "рдмрд╛рд╣рд░ рднреАрдбрд╝" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдмрд╕ "рдЙрдкрдЬ" рд╢рдмреНрдж - рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреБрд░рд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП "рдмрд╛рд╣рд░ рднреАрдбрд╝" рд╣реЛрдЧреАред


рддреЛ рдпрд╣рд╛рдБ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕рд╛рддрддреНрдп рдХреЗ рднреАрддрд░ рдХреЛрдИ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рди рд╣реЛред рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдиреНрдпреВрдирддрдо рдЖрджрд┐рдо рд╣реИред


рдЖрдк рдПрдХ Runnable рд░реВрдк рдореЗрдВ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдЕрдВрджрд░ рдЖрдк pause() рд╡рд┐рдзрд┐ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЕрдВрджрд░ рдФрд░ рд╕реАрдзреЗ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рдорд▓реНрдЯреАрдЯрд╛рд╕реНрдХрд┐рдВрдЧ рд╕рд╣рдХрд╛рд░реА рд╣реИред рдФрд░ рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдлрд┐рд░ рд╕реЗ рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╡рд╣ рд╡рд╣реАрдВ рд╕реЗ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛ рдЬрд╣рд╛рдВ рдЙрд╕рдиреЗ рдЫреЛрдбрд╝рд╛ рдерд╛ред рдЙрд╕ рддрд░рд╣ рдХрд╛ рдЬрд╛рджреВред рд╣рдо рдЬрд╛рджреВ рдкрд░ рд▓реМрдЯ рдЖрдПрдВрдЧреЗред


рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрдореЛ рдХрд╣рд╛рдВ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ - рд╣рдо рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реИред


рдирд┐рд░рдВрддрд░рддрд╛ рд╡рд░реНрдЧ рд╕реНрд╡рдпрдВ java.base рдкрд░ рд╕реНрдерд┐рдд рд╣реИ, рд╕рднреА рд▓рд┐рдВрдХ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╣реЛрдВрдЧреЗред ( src/java.base/share/classes/java/lang/Continuation.java )ред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд░реНрдЧ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ, рдмрдбрд╝рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдирд┐рдЪреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред


 public class Continuation implements Runnable { public Continuation(ContinuationScope scope, Runnable body); public final void run(); public static void yield(ContinuationScope scope); public boolean isDone(); protected void onPinned(Reason reason) { throw new IllegalStateException("Pinned: " + reason); } } 

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд▓рдЧрд╛рддрд╛рд░ рдмрджрд▓ рд░рд╣реА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд┐рдЫрд▓реЗ рджрд┐рди рдХреА рддрд░рд╣, рдирд┐рд░рдВрддрд░рддрд╛ рдиреЗ Runnable рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЗрд╕реЗ рдПрдХ рддрд░рд╣ рдХрд╛ рд╕реНрдХреЗрдЪ рдорд╛рдирддреЗ рд╣реИрдВред


рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкрд░ рдирдЬрд░ рдбрд╛рд▓реЗрдВред body - рдпрд╣ рд╡рд╣ рдХреЛрдб рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ scope - рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЦрд╛рд▓ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ рдШреЛрдВрд╕рд▓рд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред


рддрджрдиреБрд╕рд╛рд░, рдЖрдк рдпрд╛ рддреЛ рдЗрд╕ рдХреЛрдб рдХреЛ run рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдкреВрд░реНрд╡-рд╢реЗрдбреНрдпреВрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ yield рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд░рдгреА рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рджрдмрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдиреЗрд╕реНрдЯреЗрдб рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рд╕рд░рдгреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ)ред рдЖрдк isDone рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрдЫ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдЕрдВрдд рддрдХ рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИред


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


рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


 Continuation cont = new Continuation(SCOPE, () -> { while (true) { System.out.println("before"); Continuation.yield(SCOPE); System.out.println("after"); } }); while (!cont.isDone()) { cont.run(); } 

рдпрд╣ рдкреНрд░реЗрд╕реНрд▓рд░ рдХреА рдкреНрд░рд╕реНрддреБрддрд┐ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред рдлрд┐рд░ рд╕реЗ, рдпрд╣ "рддреБрдЪреНрдЫ" рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрдХреЗрдЪ рд╣реИред


рдпрд╣ рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рдмреАрдЪ рдореЗрдВ рд╣рдо рдмрд╛рд╣рд░ рднреАрдбрд╝ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдПрдХ рдЕрдВрддрд╣реАрди рдЪрдХреНрд░ рдореЗрдВ рд╣рдо рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдирд┐рд░рдВрддрд░рддрд╛ рдиреЗ рдЕрдВрдд рддрдХ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдХреНрдпрд╛ рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред


рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рд╛рдзрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрд╕ рдПрдкреАрдЖрдИ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдВрдЧреЗред рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИред рд╕реНрдкреНрд░рд┐рдВрдЧ рдХреЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рддрд░рд╣ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рд░реВрдкрд░реЗрдЦрд╛рдПрдВ рдЬреИрд╕реЗ рд╣реА рд╕рд╛рдордиреЗ рдЖрдПрдВрдЧреА, рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рддреБрд░рдВрдд рдЕрдкрдирд╛рдПрдВрдЧреАред рдЖрдк рджреЗрдЦреЗрдВрдЧреЗред рдЗрд╕ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рдХреА рд╣рд▓реНрдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИред рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рд╕рднреА рдбреЗрдЯрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЗрд╕рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рдЖрдкрдХреЛ рдЗрд╕ рд░реВрдк рдореЗрдВ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдпрд╛рддрдирд╛ рджреЗрдЧрд╛ред рдареАрдХ рд╣реИ, рдпрджрд┐ рдЖрдк рдПрдХ рд╕реНрдкреНрд░рд┐рдВрдЧ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рдереЗред


рдФрд░ рдЕрдм, рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рдлрд╛рдЗрдмрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рд░реЗрд╢реЗ


рддреЛ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд╛рдЗрдмрд░ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред

рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдореВрд░реНрддрддрд╛ рд╣реИ, рдЬреЛ рд╣реИ:


  • рд╣рд▓реНрдХреЗ рдзрд╛рдЧреЗ рдЬреЗрд╡реАрдПрдо рдореЗрдВ рд╣реА рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд╣реАрдВ;
  • рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рдЬреАрд╡рди рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ, рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рдж рдХрдо рдУрд╡рд░рд╣реЗрдбреНрд╕ рдХреЗ рд╕рд╛рде;
  • рдЬрд┐рд╕реЗ рд▓рд╛рдЦреЛрдВ рдмрд╛рд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХрдИ рддрдХрдиреАрдХреЗрдВ рдПрдХ рдпрд╛ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ рдлрд╛рдЗрдмрд░ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЛрдЯрд▓рд┐рди рдореЗрдВ рдмрд╣реБрдд рд╕реНрдорд╛рд░реНрдЯ рдмрд╛рдЗрдЯреЗрдХреЛрдб рдЬрдирд░реЗрд╢рди рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдХреЛрд░рдЯрд╛рдЗрди рд╣реИрдВред рдмрд╣реБрдд рд╕реНрдорд╛рд░реНрдЯ ред рд▓реЗрдХрд┐рди рдРрд╕реА рдЪреАрдЬреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рдПрдХ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рд╣реИред


рдХрдо рд╕реЗ рдХрдо, рдЬреЗрд╡реАрдПрдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдзрд╛рдЧреЗ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдбрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд╛рд░рдЧрд░ рдмрдирд╛рдирд╛ рд╣реИред рдЖрдк рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╢рд╛рдпрдж рд╣реА "рд╕рд░рд▓реАрдХрд░рдг" рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд░рд┐рдПрдХреНрдЯрд░ , рд╕реНрдкреНрд░рд┐рдВрдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░рд┐рдПрдХреНрдЯрд░ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЬреЛ рдЖрдкрдХреЛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд░реИрдЦрд┐рдХ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЕрдЧрд░ рдЖрдкрдХреЛ рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорджрдж рдорд┐рд▓реЗрдЧреАред


рддреЛ рдлрд╛рдЗрдмрд░ред


рдлрд╛рдЗрдмрд░ рдореЗрдВ рджреЛ рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╣реИ:


  • рдирд┐рд░рдВрддрд░рддрд╛ (рдЬрд╛рд░реА)
  • рд╕рдордпрдмрджреНрдзрдХ (skedyuler)

рд╡рд╣ рд╣реИ:


  • Kontinuatsiya
  • рдпреЛрдЬрдирд╛рдХрд╛рд░





рдЖрдк рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпреЛрдЬрдирд╛рдХрд╛рд░ рдпрд╣рд╛рдВ рдХреМрди рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдпреЛрдЬрдирд╛рдХрд╛рд░ рдЬреЗ рд╣реИред


  • рдлрд╛рдЗрдмрд░ рдЙрд╕ рдХреЛрдб рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
  • рд╢реЗрдбреНрдпреВрд▓рд░ рдиреЗ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╣рдХ рдзрд╛рдЧреЗ рдХреЗ рдПрдХ рдкреВрд▓ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛

рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╣рдХ рд╕реВрддреНрд░ рдХрд╣реВрдВрдЧрд╛ред







рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк java.util.concurrent.Executor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрд╕реВрдЪрдХ ForkJoinPool ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╡рд╣рд╛рдБ рдХреБрдЫ рд╣реЛрд╢рд┐рдпрд╛рд░ рджрд┐рдЦрд╛рдИ рджреЗ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ред


рдирд┐рд░рдВрддрд░рддрд╛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИ:


  • рдЬрдм рддрд╛рд▓рд╛ рд╣реЛрддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, IO рдкрд░) рддреЛ рдпрд╣ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ (рдЙрдкрдЬ);
  • рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдИрдУ рдСрдкрд░реЗрд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрдк рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ)ред

рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐:


  • рджрд░реНрд╢рди, рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдкрд░ рдореБрдЦреНрдп рдзреНрдпрд╛рди;
  • рдПрдкреАрдЖрдИ рддрдп рдирд╣реАрдВ рд╣реИ, рдпрд╣ "рд╢реЛ рдХреЗ рд▓рд┐рдП" рд╣реИред рдпрд╣ рдПрдХ рд╢реЛрдз рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИ;
  • java.lang.Fiber рдХреНрд▓рд╛рд╕ рдХрд╛ рд░реЗрдбреАрдореЗрдб рдПрдиреНрдХреЛрдбреЗрдб рд╡рд░реНрдХрд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╣реИред

рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрдЧреАред


рдХреНрдпрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╛рдЗрдмрд░ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рд╣реИ:


  • рдпрд╣ рдПрдХ рдХрд╛рд░реНрдп рд▓реЙрдиреНрдЪ рдЪрд▓рд╛рддрд╛ рд╣реИ;
  • рдПрдХ рдХрд╛рд░ рд╡рд╛рд╣рдХ рдкрд░ рдкрд╛рд░реНрдХрд┐рдВрдЧ рдкрд╛рд░реНрдХрд┐рдВрдЧ;
  • рдлрд╛рдЗрдмрд░ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИред

рд╕рд░реНрдХрд┐рдЯ рдЖрд░реЗрдЦ


 mount(); try { cont.run(); } finally () { unmount(); } 

  • рд╣рдо рдПрдХ рдзрд╛рдЧрд╛ рд╡рд╛рд╣рдХ рдкрд░ рдПрдХ рдлрд╛рдЗрдмрд░ рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рдлрд┐рд░ рдирд┐рд░рдВрддрд░рддрд╛ рдЪрд▓рд╛рдПрдВ;
  • рдФрд░ рд░реБрдХреЛ рдЬрдм рддрдХ рд╡рд╣ рдмрд╛рд╣рд░ рднреАрдбрд╝ рдпрд╛ рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ;
  • рдЕрдВрдд рдореЗрдВ, рд╣рдо рд╣рдореЗрд╢рд╛ рдзрд╛рдЧрд╛ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВред

рдЗрд╕ рдЫрджреНрдо рдХреЛрдб рдХреЛ ForkJoinPool рдпрд╛ рдХреБрдЫ рдЕрдиреНрдп (рдЬреЛ рдЕрдВрддрддрдГ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╣реЛрдЧрд╛) рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


 Fiber f = Fiber.execute( () -> { System.out.println("Good Morning!"); readLock.lock(); try { System.out.println("Good Afternoon"); } finally { readLock.unlock(); } System.out.println("Good Night"); }); 

рджреЗрдЦрд┐рдП, рд╣рдо рдПрдХ рдРрд╕рд╛ рдлрд╛рдЗрдмрд░ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ:


  • рд╕рднреА рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ;
  • рд╣рдо рд░реАрдХреНрд░реЗрдВрдЯ рд▓реЙрдХ рдкрд░ рд░реЛрдХ рд░рд╣реЗ рд╣реИрдВ;
  • рд▓реМрдЯрдиреЗ рдкрд░, рдЖрдкрдХреЗ рджреЛрдкрд╣рд░ рдХреЗ рднреЛрдЬрди рдкрд░ рдмрдзрд╛рдИ;
  • рдЕрдВрдд рдореЗрдВ рддрд╛рд▓рд╛ рдЬрд╛рд░реА рдХрд░реЗрдВ;
  • рдФрд░ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣реЛред

рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред


рд╣рдо рд╕реАрдзреЗ рднреАрдбрд╝ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирддреЗред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реВрдо рдЦреБрдж рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЬрдм readLock.lock(); рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рд╣реИ readLock.lock(); рдЙрд╕реЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдирд┐рд╣рд┐рддрд╛рд░реНрде рджрдорди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣рд╛рдВ рд╣реЛрддрд╛ рд╣реИред


рд╣рд░ рдЬрдЧрд╣ рдвреЗрд░, рдвреЗрд░!


рдЖрдЗрдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдкрд┐рдЬреНрдЬрд╛ рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред


рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╡рд╛рд╣рдХ рдзрд╛рдЧрд╛ рдПрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред





рд╢реАрд░реНрд╖ рдкрд░ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖, рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред


рддрдм рдлрд╛рдЗрдмрд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдлрд╛рдЗрдмрд░ рдХрд╛рд░реНрдп рдЪрд▓рдирд╛ рд╢реБрд░реВ рд╣реЛ рдЧрдпрд╛ред





рдЦреБрдж рдХреЗ рдЕрдВрджрд░, рд╡рд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЛрдб рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрдерд┐рдд рд╣реИред





рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рд╣рдордиреЗ рдЕрднреА рддрдХ рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред


рд╕реНрдЯреИрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХрд╛ рдХреЗрд╡рд▓ рдкрд╣рд▓рд╛ рдлреНрд░реЗрдо рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ рдпрд╣ рдмреИрдВрдЧрдиреА рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИред


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдХрд╛рд░реНрдп рд▓реЙрдХ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рдЙрд╕ рдкрд░ рдмреНрд▓реЙрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рднреАрдбрд╝ рдирд┐рдХрд▓рддреА рд╣реИред





рд╕рдм рдХреБрдЫ рдЬреЛ рдирд┐рд░рдВрддрд░рддрд╛ рд╕реНрдЯреИрдХ рдкрд░ рд╣реИ, рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЬрд╛рджреБрдИ рдЬрдЧрд╣ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдФрд░ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред





рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдзрд╛рд░рд╛ рдлрд╛рдЗрдмрд░ рдкрд░ рд▓реМрдЯрддреА рд╣реИ, рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдЬреЛ Continuation.run рдЕрдиреБрд╕рд░рдг рдХрд░рддреА рд╣реИред рдФрд░ рдпрд╣ рдлрд╛рдЗрдмрд░ рдХреЛрдб рдХрд╛ рдЕрдВрдд рд╣реИред


рдлрд╛рдЗрдмрд░ рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдореАрдбрд┐рдпрд╛ рдХреИрд░рд┐рдпрд░ рдПрдХ рдирдИ рдиреМрдХрд░реА рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред





рдлрд╛рдЗрдмрд░ рдкрд╛рд░реНрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд╣реАрдВ рдЭреВрда рд╣реИ, рд╕рд╛рддрддреНрдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреАрдбрд╝ рд╣реИред


рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рд╡рд╣ рдХреНрд╖рдг рдЖрддрд╛ рд╣реИ рдЬрдм рддрд╛рд▓рд╛ рдХрд╛ рдорд╛рд▓рд┐рдХ рдЗрд╕реЗ рдЬрд╛рд░реА рдХрд░рддрд╛ рд╣реИред
рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдлрд╛рдЗрдмрд░, рдЬреЛ рд▓реЙрдХ рдХреА рд░рд┐рд╣рд╛рдИ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЕрдирдкреИрдХреНрдб рд╣реИред рдЗрд╕ рдлрд╛рдЗрдмрд░ рдХрд╛ рдХрд╛рд░реНрдп рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред


  • ReentrantLock.unlock
  • LockSupport.unpark
  • Fiber.unpark
  • ForkJoinPool.execute

рдФрд░ рд╣рдо рдЬрд▓реНрджреА рд╕реЗ рд╕реНрдЯреИрдХ рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдерд╛ред





рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд╛рд╣рдХ рдзрд╛рдЧрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ!


рдирд┐рд░рдВрддрд░рддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдПрдВред





рдФрд░ рдпрд╣рд╛рдБ рдореИрдЬрд┐рдХ рдЖрддрд╛ рд╣реИ !!! рд╕реНрдЯреИрдХ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ Continuation.yield рдмрд╛рдж рдЕрдиреБрджреЗрд╢ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрди рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИред





рд╣рдо рдмрд╕ рдкрд╛рд░реНрдХ рдХрд┐рдП рдЧрдП рд▓реЙрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рд░реА рд░рд╣рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:





рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛рд░реНрдп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЗ рдмрд╛рдж рдлрд╛рдЗрдмрд░ рдХрд╛рд░реНрдп рдкрд░ рд░рд┐рдЯрд░реНрди рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрджреЗрд╢ рдХреЗ рдмрд╛рдж





рдЙрд╕реА рд╕рдордп, рдлрд╛рдЗрдмрд░ рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рд╣рдо рдлрд┐рд░ рд╕реЗ рдЦреБрдж рдХреЛ рд╕реНрдЯреИрдВрдбрдмрд╛рдп рдореЛрдб рдореЗрдВ рдкрд╛рддреЗ рд╣реИрдВред





рдлрд╛рдЗрдмрд░ рдХрд╛ рдЕрдЧрд▓рд╛ рд▓реЙрдиреНрдЪ рдлрд┐рд░ рд╕реЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдкреБрдирд░реНрдЬрдиреНрдо рдХреЗ рдкреВрд░реЗ рдЪрдХреНрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред





рдЬреАрд╡рдВрдд рдЙрджрд╛рд╣рд░рдг


рдФрд░ рдХрд┐рд╕рдиреЗ рдХрднреА рдХрд╣рд╛ рдХрд┐ рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рд╢рд╛рдо рдХреЛ рд▓рд┐рдЦреЗ рдЧрдП рдорд╛рдЗрдХреНрд░реЛрдмреИрдирдЪрд░реНрдЪ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ?


рдкрдЯрд╛рдЦреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдУрд░рд╛рдХреЛрд╡рд▓рд╛рдЗрдЯреНрд╕ рдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рд▓рд┐рдЦрд╛ рдФрд░ рдЗрд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЦрд┐рд▓рд╛рдпрд╛ рддрд╛рдХрд┐ рд╡рд╣ рдШреБрдЯ рдЬрд╛рдПред рдлрд┐рд░ рд╡реЗ рдлрд╛рдЗрдмрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЧрдПред рд╕рд░реНрд╡рд░ рдиреЗ рдЪреЛрдХ рдХрд░рдирд╛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдЗрд╕рд╕реЗ рд╣рдордиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рд╛ рдХрд┐ рдлрд╛рдЗрдмрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред


рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рдХреЛрдб рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рдЗрдХреНрд╕ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдорд┐рд▓реАрдВ, рддреЛ рдореИрдВ рд╕реНрд╡рдпрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦрдиреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред


рд╕рдорд╕реНрдпрд╛рдУрдВ


рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рд╣рд╛рдБ рдмрд┐рд▓реНрдХреБрд▓! Faybers рдХреЗ рд╕рд╛рде рдкреВрд░реА рдХрд╣рд╛рдиреА рдирд┐рд░рдВрддрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ tradeoffs рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдХрд╣рд╛рдиреА рд╣реИред


рджрд╛рд░реНрд╢рдирд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдБ


  • рдХреНрдпрд╛ рд╣рдореЗрдВ рдереНрд░реЗрдбреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
  • рдХреНрдпрд╛ рд╕рднреА рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЛ рдлрд╛рдЗрдмрд░ рдХреЗ рдЕрдВрджрд░ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╕реАрдорд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИред рдЬреЛ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдлрд┐рд░ рднреА, OpenJDK рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬреЛ рдЕрдВрддрд╣реАрди рдЕрдиреБрдХреВрд▓рддрд╛ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддреА рд╣реИред


рддрдХрдиреАрдХреА рд╕реАрдорд╛рдПрдБ рдХреНрдпрд╛ рд╣реИрдВ? рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╕реАрдорд╛рдПрдВ 2 рдЯреБрдХрдбрд╝реЗ рд╣реИрдВред


рд╕рдорд╕реНрдпрд╛ рдПрдХ рдмрд╛рд░ рд╣реИ - рдЖрдк рджреЗрд╢реА рдлреНрд░реЗрдо рдХреЛ рджрдмрд╛ рдирд╣реАрдВ рд╕рдХрддреЗ


 PrivilegedAction<Void> pa = () -> { readLock.lock(); // may park/yield try { // } finally { readLock.unlock(); } return null; } AccessController.doPrivileged(pa); //native method 

рдпрд╣рд╛рдБ doPrivileged рдореВрд▓ рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред


рдЖрдк doPrivileged рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, VM рд╕реЗ рдмрд╛рд╣рд░ рдХреВрджрддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рд╕реНрдЯреИрдХ рдкрд░ рдПрдХ рджреЗрд╢реА рдлреНрд░реЗрдо рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЖрдк readLock.lock() рдкрд░ рдкрд╛рд░реНрдХ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЙрд╕ рдкрд▓ рдореЗрдВ, рдЬрдм рддрдХ рдпрд╣ рдЕрдЫреВрддрд╛ рдирд╣реАрдВ рд░рд╣реЗрдЧрд╛, рддрдм рддрдХ рд╡рд╛рд╣рдХ рдзрд╛рдЧрд╛ рджрд╛рдЧрджрд╛рд░ рд░рд╣реЗрдЧрд╛ред рдпрд╣реА рд╣реИ, рдзрд╛рдЧрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╛рд╣рдХ рдзрд╛рдЧреЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдлрд╛рдЗрдмрд░ рдХреЗ рдкреВрд░реЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред


рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рд╣реИ, рдФрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдЪрд▓ рд░рд╣реА рд╣реИред


рд╕рдорд╕реНрдпрд╛ рджреЛ - рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХ


рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЧрдВрднреАрд░ рдХрдЪрд░рд╛ рд╣реИ


 synchronized (object) { //may park object.wait(); //may park } 

 synchronized (object) { //may park socket.getInputStream().read(); //may park } 

рдлрд╛рдЗрдмрд░ рдореЗрдВ рдореЙрдирд┐рдЯрд░ рдХреИрдкреНрдЪрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╛рд╣рдХ рдзрд╛рдЧреЗ рднреА рдХрд┐рдХ рдХрд░рддреЗ рд╣реИрдВред


рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдП рдХреЛрдб рдореЗрдВ рдЖрдк рдореЙрдирд┐рдЯрд░ рдХреЛ рд╕реАрдзреЗ рддрд╛рд▓реЗ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдмрдЬрд╛рдп рдкреНрд░рддреАрдХреНрд╖рд╛ + рд╕реВрдЪрдирд╛ рдХреЗ рдЖрдк рд╕реНрдерд┐рддрд┐ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ? рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред


рдереНрд░реЗрдб рдПрдкреАрдЖрдИ? Thread.currentThread ()? рдереНрд░реЗрдб рд▓реЛрдХрд▓?


рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ, Thread рдФрд░ Fiber рдиреЗ Strand рдирд╛рдордХ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реБрдкрд░рдХреНрд▓рд╛рд╕ рдмрдирд╛рдпрд╛ рд╣реИред


рдпрд╣ рдЖрдкрдХреЛ рдПрдкреАрдЖрдИ рдХреЛ рд╕рдмрд╕реЗ рдиреНрдпреВрдирддрдо рддрд░реАрдХреЗ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЖрдЧреЗ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ - рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣ рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ, рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИред


рдЕрдм рдереНрд░реЗрдб рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ?


  • рдПрдХ рдлрд╛рдЗрдмрд░ рдореЗрдВ Thread.currentThread() рдХрд╛ рдкрд╣рд▓рд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╢реИрдбреЛ рдзрд╛рдЧрд╛, рд╢реИрдбреЛ рдереНрд░реЗрдб рдмрдирд╛рддрд╛ рд╣реИ;
  • рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рдПрдХ "рдЕрд╕рдВрдмрдВрдзрд┐рдд" рдзрд╛рдЧрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╡реАрдПрдо рдореЗрдЯрд╛-рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИ;
  • ST рд╣рд░ рдЙрд╕ рдЪреАрдЬрд╝ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ;
  • рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдпрд╣ рд╕рдордЭрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреБрд░рд╛рдиреЗ рдПрдкреАрдЖрдИ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░рд╛ рдХрдЪрд░рд╛ рд╣реИ;
  • рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдереНрд░реЗрдб рдПрдкреАрдЖрдИ stop рдПрдкреАрдЖрдИ рдХреЛ stop , suspend , resume рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдкрд╡рд╛рдж рдХреЗ рд╣реИрдВрдбрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

рдзрд╛рдЧрд╛ рд╕реНрдерд╛рдиреАрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?


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

рдХрд┐рддрдирд╛ рдЦрд╛рддреА рд╣реИ рд╕рдм





рдереНрд░реЗрдб:


  • рд╕реНрдЯреИрдХ: рдХрд░реНрдиреЗрд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдкрд░ 1MB рдФрд░ 16KB;
  • рдкреНрд░рддрд┐ рдереНрд░реЗрдб рдЙрджрд╛рд╣рд░рдг: VM рдореЗрдЯрд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣рд┐рдд 2300 рдмрд╛рдЗрдЯреНрд╕ред

рдлрд╛рдЗрдмрд░:


  • рдирд┐рд░рдВрддрд░рддрд╛ рд╕реНрдЯреИрдХ: рд╕реИрдХрдбрд╝реЛрдВ рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рддрдХ;
  • рдкреНрд░рддрд┐ рдлрд╛рдЗрдмрд░ рдЙрджрд╛рд╣рд░рдг: 200-240 рдмрд╛рдЗрдЯреНрд╕ред

рдЕрдВрддрд░ рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ!
рдФрд░ рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рдЖрдЧ рджреЗрддрд╛ рд╣реИред


рдХреНрдпрд╛ рдкрд╛рд░реНрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ


рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╣реЛрдиреЗ рдкрд░ рд╕рдмрд╕реЗ рдЬрд╛рджреБрдИ рдЪреАрдЬ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд╛рд░реНрдХрд┐рдВрдЧ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ?


  • рдереНрд░реЗрдб.рд╕реНрд▓реАрдк, рдЬреНрд╡рд╛рдЗрди рдХрд░реЗрдВ;
  • java.util.concurrent рдФрд░ LockSupport.lock;
  • IO: рд╕реЙрдХреЗрдЯреНрд╕ рдкрд░ рдиреЗрдЯрд╡рд░реНрдХ (рд╕реЙрдХреЗрдЯ рдкрдврд╝рдирд╛, рд▓рд┐рдЦрдирд╛, рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛, рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛), рдлрд╛рдЗрд▓реЗрдВ, рдкрд╛рдЗрдк;
  • рдпрд╣ рд╕рдм рдЕрдзреВрд░рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реБрд░рдВрдЧ рдореЗрдВ рд░реЛрд╢рдиреА рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред

рдлрд╛рдЗрдмрд░ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░


рдПрдХ рдФрд░ рд╕рд╡рд╛рд▓ рдЬреЛ рд╣рд░ рдХреЛрдИ рдкреВрдЫрддрд╛ рд╣реИ: рд╡рд╣ рд╣реИ рдХрд┐ рд░реЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПред


  • рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк Runnable рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рдХрд╛рд░рдг рд╕реЗ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ CompletableFuture рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
  • java.util.concurrent "рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред" рдЖрдк рдПрдХ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рд╕рдм рдХреБрдЫ рдареЛрдХрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ;
  • рдорд▓реНрдЯреАрдереНрд░реЗрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирдП рдПрдкреАрдЖрдИ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИ;
  • рдЫреЛрдЯреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЬреИрд╕реЗ "рдлрд╛рдЗрдмрд░ рдХреЛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?" рд╕рдм рдХреБрдЫ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рд╡реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред

рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдирд┐рд░рдВрддрд░рддрд╛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХреА рдЬрд╛рддреА рд╣реИ?


рд╕реНрдкрд╖реНрдЯ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдирд┐рд░рдВрддрд░рддрд╛ рдкрд░ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЖрдкрдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдХрдо рд░реИрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЙрдирдХреЗ рдмреАрдЪ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрдиреНрдпрдерд╛, рдЙрдиреНрд╣реЗрдВ рд▓рд╛рдЦреЛрдВ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкрд╛рд░реНрдХрд┐рдВрдЧ-рдЕрдкрд░рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдХреА рдкреВрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдФрд░ рдРрд╕реА рдПрдХ рдпреЛрдЬрдирд╛ рд╣реИ! рдЖрдЗрдП рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рдЗрд╕реЗ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред


рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕рд┐рд░реНрдл рдПрдХ рдЬрд╛рд╡рд╛ рдХреВрд▓реНрд╣реЗ рдкрд░ рд╕рднреА рдвреЗрд░ рд▓рдЧрд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдм рдХреИрд╕реЗ рдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЗрд╕рд▓рд┐рдП рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЙрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреЗ рд▓реЗрдХрд┐рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдХ рдХреЗ рд╕рд╛рде рдирдХрд▓ред


рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдХреБрд░реНрд╕рд┐рдпрд╛рдВ тАЛтАЛрд╣реИрдВ ... рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ, рджреЛ рдвреЗрд░ред рдХреВрд▓реНрд╣реЗ рдореЗрдВ рджреЛ рдЬрд╛рд╡рд╛ рд╕рд░рдгрд┐рдпрд╛рдБред рдПрдХ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рд░рдгреА рд╣реИ, рдЬрд╣рд╛рдВ рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗред рджреВрд╕рд░рд╛ рд╣реИ рдЖрджрд┐рдо (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░рдВрдЧ), рдЬреЛ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред





рдЕрдм рд╣рдо рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИрдВ рдЬрд╣рд╛рдВ рдирд┐рд░рдВрддрд░рддрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╣реИред


рдХреЙрд▓ рдХреЙрд▓ рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╡рд┐рдзрд┐ рд╣реИ рдЬрд┐рд╕реЗ enter рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:





рдФрд░ рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдареАрдХ рдкрд╣рд▓реЗ рднреАрдбрд╝ рд╕реЗ рдмрд╛рд╣рд░ рддрдХред





рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдПрдХ рд╡реАрдПрдо рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ freeze рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ, рдпрд╣ рд╕реАрдзреЗ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред





рд╣рдо рджреЗрд╢реА рд╕реНрдЯреИрдХ рд╕реЗ рдЬрд╛рд╡рд╛ рд╣рд┐рдк рддрдХ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдХреЙрдкреА рдлреНрд░реЗрдо рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред





рдпрд╣ рдЬрд╛рдВрдЪрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдореЙрдирд┐рдЯрд░ рд╡рд╣рд╛рдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдпрд╛ рджреЗрд╢реА рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдХреБрдЫ рдФрд░ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╣рдореЗрдВ рдХрд╛рдо рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ред





рдФрд░ рдЕрдЧрд░ рд╕рдм рдареАрдХ рд╣реИ, рддреЛ рд╣рдо рдкрд╣рд▓реЗ рдПрдХ рдЖрджрд┐рдо рд╕рд░рдгреА рдореЗрдВ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВ:





рддрдм рд╣рдо рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрд░реЗ рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ:





рджрд░рдЕрд╕рд▓, рдЗрд╕ рдЬрдЧрд╣ рдкрд░ рдкрдврд╝рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рджреЛ рдЪрд╛рдп!


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╣рдо рджреЗрд╢реА рд╕реНрдЯреИрдХ рдХреЗ рдЕрдиреНрдп рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред





рд╣реБрд░реНрд░реЗ! рд╣рдордиреЗ рдХреВрд▓реНрд╣реЗ рдореЗрдВ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдХреЙрдкреА рдХрд┐рдпрд╛ред рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХреЙрд▓ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдбрд░ рдХреЗ рдХреВрдж рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдХреБрдЫ рдЦреЛ рджрд┐рдпрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рд╣рд┐рдк рд╣реИред





рдЕрдм, рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ, рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рд╣рдорд╛рд░реА рдирд┐рд░рдВрддрд░рддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рдФрд░ рдЙрд╕реЗ рдЙрд╕ рдЬрдЧрд╣ рд╕реЗ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдЙрд╕реЗ рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рд╣рдорд╛рд░рд╛ рдХрд╛рдо рд╣реИред





рдЬрд╛рдБрдЪ рдЬрд╛рд░реА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдирд┐рд░рдВрддрд░рддрд╛ рдЪрд▓ рд░рд╣реА рдереА, рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рд╛рдБ, рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рдерд╛ред рддреЛ, рдЖрдкрдХреЛ рд╡реАрдПрдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╕реНрдЯреИрдХ рдкрд░ рдХреБрдЫ рдЬрдЧрд╣ рдХреЛ рд╕рд╛рдл рдХрд░реЗрдВ рдФрд░ рдЖрдВрддрд░рд┐рдХ thaw рд╡реАрдПрдо рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВред "рдерд╛рд╡" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рд░реВрд╕реА рдореЗрдВ "рдкрд┐рдШрд▓рдирд╛", "рдЕрдирдлрд╝реНрд░реАрдЬрд╝" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдореБрдЦреНрдп рджреЗрд╢реА рд╕реНрдЯреИрдХ рдореЗрдВ рдирд┐рд░рдВрддрд░рддрд╛ рд╕реНрдЯреИрдХ рд╕реЗ рдлреНрд░реЗрдо рдХреЛ рдЕрдирдлреНрд░реАрдЬ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред


рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪрд╛рдп рдХреЛ рдЦрд╝рд░рд╛рдм рдХрд░рдирд╛ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИред рдмреБрд░рд╛ рдЕрдореВрд░реНрдд рдПрдХ рдмрд┐рд▓реНрд▓реА рдХреЗ рд╕рдорд╛рди рдПрдХ рджрд░рд╡рд╛рдЬреЗ рдХреЗ рд╕рд╛рде рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд░реЗрдЧрд╛ред





рд╣рдо рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рдкреНрд░рддрд┐рдпрд╛рдВ рдмрдирд╛рддреЗ рд╣реИрдВред


рдкрд╣рд▓реЗ рдПрдХ рдЖрджрд┐рдо рд╕рд░рдгреА рдХреЗ рд╕рд╛рде:





рдлрд┐рд░ рд▓рд┐рдВрдХ рд╕реЗ:





рдЖрдкрдХреЛ рд╕рд╣реА рд╕реНрдЯреИрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдкреИрдЪ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рдкреИрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:





рд╕рднреА рдлрд╝реНрд░реЗрдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд╢реНрд▓реАрд▓рддрд╛ рджреЛрд╣рд░рд╛рдПрдВ:





рдЕрдм рдЖрдк yield рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред





рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕реНрдЯреИрдХ рдХреА рдПрдХ рдкреВрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдирд┐рд░реЛрдзрд╛рддреНрдордХ рд╣реИред рдпрд╣ рд╕рдм рд▓рд┐рдВрдХ рдХрд╛ рдЕрд▓рдЧрд╛рд╡ рд╣реИ, рдкрд┐рдирд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЪреЗрдХ, рдпрд╣ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИред рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рдпрд╣ рд╕рдм рд░реИрдЦрд┐рдХ рд╕реНрдЯреИрдХ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ! рдПрдХ рд╢рдмреНрдж рдореЗрдВ, рдирд░рдХред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред


рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░ рд╣реИ - рдЖрд▓рд╕реА рдирдХрд▓ред


рдЖрдЗрдП рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬрдореЗ рд╣реБрдП рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред





рд╣рдо рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ:





рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА, рд╣рдо рджреЗрд╢реА рд╕реНрдЯреИрдХ рдкрд░ рдЬрдЧрд╣ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ:





рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЙрдкреА рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ рдпрд╛ рджреЛ рдлреНрд░реЗрдо:





рдЕрдм рд╣реИрдХред рдЖрдкрдХреЛ рд╡рд┐рдзрд┐ C рдХреЗ рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдХреЛ рдкреИрдЪ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд░рд┐рдЯрд░реНрди рдмреИрд░рд┐рдпрд░ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░реЗ:





рдЕрдм рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ yield рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ:





рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ C рд╡рд┐рдзрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдХреЙрд▓ рдХрд░реЗрдЧрд╛:





рдЕрдм рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ C рдЙрд╕ рдХреЛрдб рдкрд░ рд▓реМрдЯрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬрд┐рд╕рдиреЗ рдЗрд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЙрд╕рдХрд╛ рд╕рд╛рд░рд╛рдВрд╢ B , рдФрд░ рд╡рд╣ рд╕реНрдЯреИрдХ рдкрд░ рдирд╣реАрдВ рд╣реИ! рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╡рд╣ рд▓реМрдЯрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рд░рд┐рдЯрд░реНрди рдкрддреЗ рдкрд░ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдпрд╣ рдкрддрд╛ рдЕрдм рд░рд┐рдЯрд░реНрди рдмреИрд░рд┐рдпрд░ рд╣реИред рдФрд░, рддреБрдореНрд╣реЗрдВ рдкрддрд╛ рд╣реИ, рдпрд╣ рдлрд┐рд░ рд╕реЗ рдПрдХ thaw рдХреЙрд▓ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдЧрд╛:





рдФрд░ thaw рдирд┐рд░рдВрддрд░рддрд╛ рд╕реНрдЯреИрдХ рдкрд░ рдЕрдЧрд▓реЗ рдлреНрд░реЗрдо рдХреЛ thaw рдХрд░реЗрдЧрд╛, рдФрд░ рдпрд╣ B :





рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдордиреЗ рдЕрдиреБрд░реЛрдз рдкрд░, рдЗрд╕реЗ рдЖрд▓рд╕реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ред


рдЕрдЧрд▓рд╛, рд╣рдо B рдХреЛ рдирд┐рд░рдВрддрд░рддрд╛ рд╕реНрдЯреИрдХ рд╕реЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдзрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдмрд╛рдзрд╛ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░рдВрддрд░ рд╕реНрдЯреИрдХ рдкрд░ рдХреБрдЫ рдмрдЪрд╛ рд╣реИ)ред рдФрд░ рдЗрддрдиреЗ рдкрд░ рдФрд░ рдкрд░ред





рд▓реЗрдХрд┐рди рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ B рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдореЗрдВ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рдзрд┐ D рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ D рдФрд░ рдпрд╣ рдирдИ рд╡рд┐рдзрд┐ рднреА рднреАрдбрд╝ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреА рд╣реИред





рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЬрдм freeze рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖрддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдирд┐рд░рдВрддрд░ рд╕реНрдЯреИрдХ рдкрд░ рдХреЗрд╡рд▓ рдореВрд▓ рдвреЗрд░ рдХреЗ рд╢реАрд░реНрд╖ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:





рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдп рдХреА рдорд╛рддреНрд░рд╛ рд╕реНрдЯреИрдХ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рд░реИрдЦрд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣ рд░реИрдЦрд┐рдХ рдХреЗрд╡рд▓ рдЙрди рдлрд╝реНрд░реЗрдореЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рдереЗред


рдХреНрдпрд╛ рдмрдЪрд╛ рд╣реИ?


рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдореЗрдВ рдирд╣реАрдВ рдЖрдПред


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

рдЕрдЧрд▓реЗ рдЪрд░рдг:


  • рдорд╛рдирд╡ рдПрдкреАрдЖрдИ рдмрдирд╛рдПрдВ;
  • рд╕рднреА рд▓рд╛рдкрддрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЬреЛрдбрд╝реЗрдВ;
  • рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╕реБрдзрд╛рд░ред

рдХрд╣рд╛рдБ рд╕реЗ рд▓рд╛рдКрдБ?


рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк OpenJDK рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдПрдХ рдмреНрд░рдВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдмреНрд░рдВрдЪ fibers рд╕реНрд╡рд┐рдЪ рдХрд░рдХреЗ рдЖрдк рдпрд╣рд╛рдВ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ fibers ред


рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:


 $ hg clone http://hg.openjdk.java.net/loom/loom $ cd loom $ hg update -r fibers $ sh configure $ make images 

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╣ рд╕рдм рдкреВрд░реЗ рд▓рд╛рдирдд рдУрдкрдирдЬреЗрдбрдХреЗ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЗ рдЕрдЧрд▓реЗ рдЖрдзреЗ рдШрдВрдЯреЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрдмрдХрд┐ рдпрд╣ рд╕рдм рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИред





рджреВрд╕рд░реЗ, рдЖрдкрдХреЛ C ++ рдЯреВрд▓рдХрд┐рди рдФрд░ GNU рд▓рд┐рдмрд╛рд╕ рдХреЗ рд╕рд╛рде рдареАрдХ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рд╕рдВрдХреЗрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╕рдЪ рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рд╡рд╣рд╛рдВ рдПрдХ рдирдпрд╛ рдЙрдмрдВрдЯреВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде, рдЖрдк рд╕рд╛рдЗрдЧрд╡рд┐рди рдпрд╛ рдПрдордПрд╕рдЖрдИрдПрд╕ 64 рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдПрдХ рдФрд░ рдЕрдорд╛рдирд╡реАрдп рддреНрд░реБрдЯрд┐ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рд╕рдордп рдХреЗ рдкрд░рд┐рдорд╛рдг рдХреЗ рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЦрд░реНрдЪ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ msys Cygwin рд╕реЗ рднреА рдмрджрддрд░ рдореЗрдВ рдЖрддрд╛ рд╣реИред


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рдм рдЭреВрда рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдердХ рдЧрдпрд╛ ред


- , mercurial extension fsmonitor. , , hg help -e fsmonitor .
~/.hgrc :


 [fsmonitor] mode = on 

- . -, cp -R ./loom ./loom-backup .


, . , Java- , .


sh configure - . , Ubuntu, Autoconf ( sudo apt-get install autoconf ). тАФ OpenJDK Ubuntu, , . Windows , .


, , hg diff --stat -r default:fibers .


, , , .


рдирд┐рд╖реНрдХрд░реНрд╖


┬л, ┬╗. ┬л┬╗, . ┬лLoom┬╗ тАФ ┬л ┬╗. Project Loom .


, . , ┬л┬╗ , , тАФ , , , тАФ .


, , XIX , .




. -, .


, . IDE .


, , , ┬л ┬╗, ┬л┬╗, ┬л ┬╗ .


? . .


рдЖрдкрдХрд╛ рдзрдиреНрдпрд╡рд╛рдж

Source: https://habr.com/ru/post/hi422519/


All Articles