.NET рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдХрд┐рддрд╛рдм "рдХреЙрдореНрдкрд┐рдЯрд┐рдЯрд┐рд╡рдиреЗрд╕ рдПрдВрдб рдХреЙрдирдПрд░реЗрдмрд┐рд▓рд┐рдЯреАред рдкреНрд░рднрд╛рд╡реА рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди тАЭ

рдЫрд╡рд┐ рд╣рд╛рдп, рд╣рдмреНрд░реЛрдЬрд╝рд┐рддреЗрд▓реА! Riccardo Terrell рдХреА рдкреБрд╕реНрддрдХ .NET рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддреА рд╣реИ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдФрд░ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рдЙрдкрдХрд░рдг рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирдП рдХреМрд╢рд▓ рдХреЗ рд╕рд╛рде рд╕рд╢рд╕реНрддреНрд░, рдЖрдк рд╕рдлрд▓ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╛рдзрд╛рди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдмрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЬреНрдЮрд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред

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

рдкреНрд░рдХрд╛рд╢рди рд╕рдВрд░рдЪрдирд╛: рд░реЛрдбрдореИрдк


рдЗрд╕ рдкреБрд╕реНрддрдХ рдХреЗ рдЪреМрджрд╣ рдЕрдзреНрдпрд╛рдпреЛрдВ рдХреЛ рддреАрди рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рднрд╛рдЧ I рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреМрд╢рд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред

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

рднрд╛рдЧ II рдореЗрдВ, рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдорд╛рди рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдореЙрдбрд▓реЛрдВ рдХреА рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИред рд╣рдо рдЯрд╛рд╕реНрдХ рдкреИрд░реЗрд▓рд▓ рд▓рд╛рдЗрдмреНрд░реЗрд░реА (TPL) рдЬреИрд╕реЗ рд╡рд┐рд╖рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ, рдФрд░ Fork / Join, divide and conquer, рдФрд░ MapReduce рдЬреИрд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЦрдВрдб рдШреЛрд╖рдгрд╛рддреНрдордХ рд▓реЗрдЖрдЙрдЯ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди, рдПрдЬреЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рд╕рдВрджреЗрд╢ рд╣рд╕реНрддрд╛рдВрддрд░рдг рд╢рдмреНрджрд╛рд░реНрде рдореЗрдВ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЕрдореВрд░реНрддрддрд╛ рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛ рд╣реИред

  • рдЕрдзреНрдпрд╛рдп 4 рдбреЗрдЯрд╛ рдХреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рдмрддрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдлреЛрд░реНрдХ / рдЬреЙрдЗрди рдЬреИрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рдЕрдзреНрдпрд╛рдп 5, рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реВрдЪрдирд╛ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рддрд░реАрдХреЛрдВ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рд╕рдорд╛рдирд╛рдВрддрд░ рдПрдХрддреНрд░реАрдХрд░рдг, рдбреЗрдЯрд╛ рдореЗрдВ рдХрдореА, рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ MapReduce рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдиред
  • рдЕрдзреНрдпрд╛рдп 6, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдИрд╡реЗрдВрдЯ рдХреЙрдореНрдмрд┐рдиреЗрдЯрд░реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП .NET рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЗрдВ рдЙрдЪреНрдЪ-рдХреНрд░рдо рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реАрдХреЛрдВ (рдбреЗрдЯрд╛) рдзрд╛рд░рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдЕрдзреНрдпрдпрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░рдХрд╛рд╢рдХ-рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдЕрдзреНрдпрд╛рдп 7 рдХрд╛рд░реНрдп-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореЛрдирд╛рдбрд┐рдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдлрд┐рд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдЕрдзреНрдпрд╛рдп 8 рд╕реА # рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрд╕реАрдорд┐рдд рд╕рдорд╛рдирд╛рдВрддрд░ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИред рдЗрд╕ рдЕрдзреНрдпрд╛рдп рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдкрд░ рднреА рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред
  • рдЕрдзреНрдпрд╛рдп 9 рдПрдл # рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рдПрдХ рдЖрд╕реНрдердЧрд┐рдд рдФрд░ рд╕реНрдкрд╖реНрдЯ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдЙрдЪреНрдЪ рд╕рдВрд░рдЪрдирд╛рддреНрдордХ рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рддрдм рд╣рдо рд╕реАрдЦреЗрдВрдЧреЗ рдХрд┐ рдРрдмреНрд╕рдЯреНрд░реИрдХреНрд╢рди рдХреЗ рд╕реНрддрд░ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдХрдореНрдкреНрдпреВрдЯреЗрд╢рдирд▓ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред
  • рдЕрдзреНрдпрд╛рдп 10 рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдпреЛрдВ, рдХреЙрдореНрдмреАрдиреЗрдЯрд░реЛрдВ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬреИрд╕реЗ рдХрд┐ рдлрд╝рдиреНрдХреНрдЯрд░, рдореЛрдирд╛рдб, рдФрд░ рдРрдкреНрд▓рд┐рдХреЗрдЯрд┐рд╡, рдХреЛ рдХрдИ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рдиреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдФрд░ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рдмрд┐рдирд╛ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдЕрдзреНрдпрд╛рдп 11 рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрд▓рдЧрд╛рд╡ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдХреЛ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрдзреНрдпрд╛рдп рдПрдЬреЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдФрд░ рд╕рдВрд╕рд╛рдзрди-рдореБрдХреНрдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рдо рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП F # рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд рдореЗрд▓рдмреЙрдХреНрд╕рдкреНрд░реЛрд╕реЗрд╕рд░ рд╡рд░реНрдЧ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред
  • рдЕрдзреНрдпрд╛рдп 12 C # рдореЗрдВ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде .NET рд╕реЗ TPL рдбреЗрдЯрд╛рдлрд╝реНрд▓реЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдЬреЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ C # рдореЗрдВ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдФрд░ рд╕реНрдЯреЗрдЯрдлреБрд▓ рдПрдЬреЗрдВрдЯреЛрдВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрдИ рдЧрдгрдирд╛рдПрдВ рдХреИрд╕реЗ рдХрд░реЗрдВ рдХрд┐ рдПрдХ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХреА рд╢реИрд▓реА рдореЗрдВ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ (рднреЗрдЬрдирд╛) рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░реЗрдВред

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

  • рдЕрдзреНрдпрд╛рдп 13 рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗ рд▓реА рдЧрдИ рдЬрдЯрд┐рд▓ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╡реНрдпрдВрдЬрдиреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред рдЗрди рд╡реНрдпрдВрдЬрдиреЛрдВ рдореЗрдВ рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
  • рдЕрдзреНрдпрд╛рдп 14 рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЕрдзреНрдпрдпрди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдФрд░ рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдПрдХ рдкреВрд░реНрдг рд╡рд┐рдХрд╕рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЖрдк рдПрдХ рдЙрдЪреНрдЪ рд╕реНрдХреЗрд▓реЗрдмрд▓, рдЙрддреНрддрд░рджрд╛рдпреА рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдПрдХ рдЙрддреНрддрд░рджрд╛рдпреА рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдмрдирд╛рдПрдВрдЧреЗред рдкреБрд╕реНрддрдХ рдореЗрдВ рджреЛ рд╕рдВрд╕реНрдХрд░рдг рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: рдПрдХ iOS (iPad) рдХреЗ рд▓рд┐рдП, Xamarin Visual Studio рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдФрд░ рджреВрд╕рд░рд╛ - Windows рдкреНрд░рд╕реНрддреБрддрд┐ рдлрд╛рдЙрдВрдбреЗрд╢рди (WPF) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред рд╕рд░реНрд╡рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓, рдЬреИрд╕реЗ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕, рдПрдЬреЗрдВрдЯ рдФрд░ рд░рд┐рдПрдХреНрдЯрд┐рд╡ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреБрд╕реНрддрдХ рдореЗрдВ рддреАрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднреА рд╣реИрдВред

  • рдкрд░рд┐рд╢рд┐рд╖реНрдЯ A рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рддрд░реАрдХреЛрдВ рдХреЗ рдореВрд▓ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред
  • рдкрд░рд┐рд╢рд┐рд╖реНрдЯ B F # рдХреА рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдл # рдХреА рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕рдореАрдХреНрд╖рд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЗрд╕ рднрд╛рд╖рд╛ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдФрд░ рдкреБрд╕реНрддрдХ рдкрдврд╝рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╕рд╣рдЬ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
  • рдкрд░рд┐рд╢рд┐рд╖реНрдЯ рдмреА рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдл # рдореЗрдВ рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ рд╕реА # рдореЗрдВ рдПрдХ .NET рдХрд╛рд░реНрдп рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд рдХреЛ рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред

рдЕрдВрд╢ред 11.6ред рдПрдл # рдореЗрд▓рдмреЙрдХреНрд╕рдкреНрд░реЛрд╕реЗрд╕рд░: рдЧреЗрдо рдСрдл рд▓рд╛рдЗрдл рдХреЗ рд▓рд┐рдП 10,000 рдПрдЬреЗрдВрдЯ


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

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

рдЧреЗрдо рдСрдл рд▓рд╛рдЗрдл рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдо рд╣реИрдВ:

  • рдпрджрд┐ рдХрд┐рд╕реА рд╕реЗрд▓ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкрдбрд╝реЛрд╕реА рдпрд╛ рдХреЛрдИ рдкрдбрд╝реЛрд╕реА рдирд╣реАрдВ рд╣реИ, рддреЛ рд╡рд╣ "рдЕрдХреЗрд▓реЗрдкрди рд╕реЗ" рдорд░ рдЬрд╛рддрд╛ рд╣реИ;
  • рдпрджрд┐ рдХрд┐рд╕реА рдХреЛрд╢рд┐рдХрд╛ рдХреЗ рдЪрд╛рд░ рдпрд╛ рдЕрдзрд┐рдХ рдкрдбрд╝реЛрд╕реА рдорд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ "рдЕрддрд┐рдкреНрд░рд╛рдкреНрддрд┐ рдХреЗ рдХрд╛рд░рдг" рдорд░ рдЬрд╛рддрд╛ рд╣реИ;
  • рдпрджрд┐ рд╕реЗрд▓ рдореЗрдВ рджреЛ рдпрд╛ рддреАрди рдкрдбрд╝реЛрд╕реА рд╣реИрдВ, рддреЛ рдпрд╣ рдЬреАрд╡рд┐рдд рд░рд╣рддрд╛ рд╣реИ;
  • рдпрджрд┐ рдХрд┐рд╕реА рдХрдХреНрд╖ рдореЗрдВ рддреАрди рдкрдбрд╝реЛрд╕реА рд╣реИрдВ, рддреЛ рдпрд╣ рдЧреБрдгрд╛ рдХрд░рддрд╛ рд╣реИред

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

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

рдЫрд╡рд┐

рдЫрд╡рд┐

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

рдЫрд╡рд┐

рдЫрд╡рд┐

updateAgent, рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЕрджреНрдпрддрди рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рд╕реЗрд▓ рдорд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдПрдЬреЗрдВрдЯ рдкрд┐рдХреНрд╕реЗрд▓ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдирдИ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ рдЬрдм рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдПрдВ рдЕрдкрдиреЗ рдирдП рд░рд╛рдЬреНрдп рдкрд░ рдЧреБрдЬрд░рддреА рд╣реИрдВред UpdateAgent рдЗрд╕рдХреЗ рдмрд╛рдж рдЗрд╕ рдирдИ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ WPF GUI рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЧреЗрдо рдСрдл рд▓рд╛рдЗрдл рдЧреНрд░рд┐рдб рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ:

do! Async.SwitchToContext ctx image.Source <- createImage pixels do! Async.SwitchToThreadPool() 

рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ WPA рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП updateAgent рд╡рд░реНрддрдорд╛рди рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдХреЛ Async.SwitchToContext рдлрд╝рдВрдХреНрд╢рди (рдЕрдзреНрдпрд╛рдп 9 рдореЗрдВ рд╡рд░реНрдгрд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдереНрд░реЗрдб рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЧреЗрдо рдСрдл рд▓рд╛рдЗрдл рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдЖрдЦрд┐рд░реА рдЯреБрдХрдбрд╝рд╛ рдПрдХ рдЧреНрд░рд┐рдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреЗрд▓ рдХрд╛ рдореИрджрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЯрд╛рдЗрдорд░ рдЕрдкрдбреЗрдЯ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ (рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 11.11)ред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЧреНрд░рд┐рдб 100 ├Ч 100 рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдПрдХ рд╡рд░реНрдЧ рд╣реИ, рдХреБрд▓ 10,000 рдХреЛрд╢рд┐рдХрд╛рдПрдВ (рдореЗрд▓рдмреЙрдХреНрд╕рдкреНрд░реЛрд╕реЗрд╕рд░ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕), рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ 50 рдПрдордПрд╕ рдореЗрдВ рдПрдХ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдВрдЬреАрд░ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред 11.13ред рджрд╕ рд╣рдЬрд╝рд╛рд░ MailboxProcessor рдСрдмреНрдЬреЗрдХреНрдЯ рдЗрдВрдЯрд░реЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 20 рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ (рдЬрд┐рд╕ рдХреЛрдб рдкрд░ рдЖрдкрдХреЛ рдзреНрдпрд╛рди рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рд╡рд╣ рдмреЛрд▓реНрдб рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред

рдЫрд╡рд┐

рдЫрд╡рд┐

рд╕рднреА рдХреЛрд╢рд┐рдХрд╛рдУрдВ (рдПрдЬреЗрдВрдЯреЛрдВ) рдХреЛ рдЕрдзрд┐рд╕реВрдЪрдирд╛ PLINQ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХрдХреНрд╖ F # рдЕрдиреБрдХреНрд░рдо рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ .NET IEnumerable рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ LINQ / PLINQ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЫрд╡рд┐

рдЬрдм рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо 1 рдорд┐рдирдЯ рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ 10,000 F # рдкреНрд░рдХрд╛рд░ рдХреА рдбрд╛рдХрдмреЙрдХреНрд╕рдкреНрд░реЛрд╕реЗрд╕рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдПрдЬреЗрдВрдЯ 25 рдПрдордмреА рд╕реЗ рдХрдо рдореЗрдореЛрд░реА рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВред рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА!

рд╕рд╛рд░рд╛рдВрд╢


  • рдПрдЬреЗрдВрдЯ-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдпрддрд╛ рдФрд░ рдЕрд▓рдЧрд╛рд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдЬреЗрдВрдЯ рд╕рдХреНрд░рд┐рдп рд╡рд╕реНрддреБрдУрдВ рдХреЗ рднреАрддрд░ рд╕рдордЭрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░рдХрдЯ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд▓рдЪреАрд▓рд╛, рд╢рд┐рдерд┐рд▓ рдпреБрдЧреНрдорд┐рдд рдФрд░ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╣реИред
  • рдЕрд╡рд░реБрджреНрдз рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрд▓рдЧрд╛рд╡ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдПрдХ рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ, рдЕрд▓рдЧрд╛рд╡ рд╕реНрдерд╛рдиреАрдп рд╕рдВрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдереНрд░реЗрдб рдХреЛ рдбреЗрдЯрд╛ рдХреЗ рдХреЙрдкреА рдХрд┐рдП рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╕рд╛рде рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рд╕рд╛рдЭрд╛ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдЗрдиреНрд╕реБрд▓реЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХреЛрдИ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
  • рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдПрдЬреЗрдВрдЯ рд╕рд░рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╕рдордп рдзрд╛рдЧреЗ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдирддреАрдЬрддрди, рдЖрдк рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рдЖрд╡реЗрджрди рдореЗрдВ рд╕реИрдХрдбрд╝реЛрдВ рд╣рдЬрд╛рд░реЛрдВ рдПрдЬреЗрдВрдЯреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдПрдХ MailboxProcessor F # рдСрдмреНрдЬреЗрдХреНрдЯ рджреЛ-рддрд░рдлрд╝рд╛ рд╕рдВрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЙрд▓рд┐рдВрдЧ рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рдЧрдгрдирд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо (рдЙрддреНрддрд░) рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдЪреИрдирд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  • MailboxProcessor рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ F # рдореЗрдВ рдПрдЬреЗрдВрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХрдИ рдХреЙрдиреНрдЯреНрд░реЛрд╡рд░реНрд╢рд┐рдпрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдПрдХреНрд╕реЗрд╕ рдЬреИрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмрд╛рдзрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдЬреЗрдВрдЯреЛрдВ рдХреА рдорджрдж рд╕реЗ, рдЖрдк рд╕рд░реНрд╡рд░ рдХреА рдЬрд╡рд╛рдмрджреЗрд╣реА рдХреЛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рддреЗрдЬреА рд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЕрдиреНрдп .NET рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ рдЖрдкрдХреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ TPL рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ F # рдЯрд╛рдЗрдк MailboxProcessor рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред

┬╗рдкреБрд╕реНрддрдХ рдХреА рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХрд╛рд╢рдХ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ
┬╗ рд╕рд╛рдордЧреНрд░реА
┬╗ рдЕрдВрд╢

рдлреЗрд░реАрд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреВрдкрди рдкрд░ 20% рдХреА рдЫреВрдЯ - .NET рдореЗрдВ Concurrency

рдкреБрд╕реНрддрдХ рдХреЗ рдкреЗрдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рднреБрдЧрддрд╛рди рдкрд░, рдкреБрд╕реНрддрдХ рдХрд╛ рдПрдХ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдИ-рдореЗрд▓ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

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


All Articles