Libdispatch рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧ

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

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


рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рдЯреНрд╡реАрдЯ рднреА рдХрд┐рдП:


рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛:

  • рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдкреВрд▓ ( рдзрд╛рдЧреЗ - рд▓рдЧрднрдЧ рдкреНрд░рддрд┐ ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд╣реБрдд рдХрдо рдХрддрд╛рд░реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдпреЗ рд╕рднреА рдХрддрд╛рд░реЗрдВ рдПрдХ рд╕рд╛рде рд╕рдХреНрд░рд┐рдп рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдХ рд╣реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рде рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдзрд╛рдЧреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗред рдЗрди рдХрддрд╛рд░реЛрдВ рдХреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо (рдЬреАрдпреВрдЖрдИ, рднрдВрдбрд╛рд░рдг, рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд╛рдо, ...) рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрднреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╕рдорд╡рд░реНрддреА рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
  • рдЕрдиреБрдХреНрд░рдорд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВред рдЬрдм рдЖрдкрдХреЛ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдХрд╛рд░рдг рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдк рд▓реЗрдВред рдФрд░ рдЕрдЧрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдорджрдж рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╣рдореЗрд╢рд╛ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд╕рдорд╛рдирд╛рдВрддрд░ рдХреЛрдб рд╕рд┐рд╕реНрдЯрдо рдХреЗ рджрдмрд╛рд╡ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдХрддрд╛рд░реЛрдВ рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЬрдм рдпрд╣ рдФрд╕рдд рджрд░реНрдЬреЗ рдХрд╛ рд▓рд╛рдн рд▓рд╛рддрд╛ рд╣реИ рддреЛ рд▓рд╛рдЗрдиреЗрдВ рдЬреЛрдбрд╝реЗрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рддреАрди рд╕реЗ рдЪрд╛рд░ рдХрддрд╛рд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдРрд╕реА рдХрддрд╛рд░реЗрдВ рдЬреЛ рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдФрд░ рдХрддрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдкреИрдорд╛рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВред
    ( рдиреЛрдЯ рдкреЗрд░реЗрд╡ред: рджреВрд╕рд░реА рдХрддрд╛рд░ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред )
  • Dispatch_get_global_queue () рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдпрд╣ рд╕реЗрд╡рд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд╕реЗ рдкреНрд░рд╡рд╛рд╣ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рд╕реНрдлреЛрдЯрдХ рд╡реГрджреНрдзрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдЕрдкрдиреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЪрд▓рд╛рдПрдВред
  • dispatch_async () рдЫреЛрдЯреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдмреНрд▓реЙрдХреЛрдВ (<1 ms) рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдмрд░реНрдмрд╛рджреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХреЙрд▓ рдореЗрдВ libdispatch рдХреЗ рдЕрддреНрдпрдзрд┐рдХ рдЙрддреНрд╕рд╛рд╣ рдХреЗ рдХрд╛рд░рдг рдирдП рдзрд╛рдЧреЗ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕рд╛рдЭрд╛ рд░рд╛рдЬреНрдп рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдВрджрд░реНрдн рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд╛рдЭрд╛ рд░рд╛рдЬреНрдп рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд▓реЙрдХ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
  • рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ / рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╡реЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдВрджрд░реНрдн рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдЙрдирдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдзрд╛рдЧрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рдВрдкрд░рд┐рдХ рд▓реЙрдХрд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред os_unfair_lock рдЖрдорддреМрд░ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд▓реЙрдХрд┐рдВрдЧ рддрдВрддреНрд░ рд╣реИ: рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдо рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред
  • рд╕рдорд╛рдирд╛рдВрддрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдкрдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЖрдкрд╕ рдореЗрдВ рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдиреНрдпрдерд╛ рдЙрддреНрдкрд╛рджрдХрддрд╛ рддреЗрдЬреА рд╕реЗ рдЧрд┐рд░рддреА рд╣реИред рд▓рдбрд╝рдирд╛ рдХрдИ рд░реВрдк рд▓реЗрддрд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯ рдорд╛рдорд▓рд╛: рддрд╛рд▓рд╛ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ред рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рддрд░рд╣ рдХреА рд▓рдбрд╝рд╛рдИ рдХрд╛ рдорддрд▓рдм рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдПрдХ рдЕрдбрд╝рдЪрди рдмрди рдЬрд╛рддрд╛ рд╣реИ: рдЖрдИрдкреАрд╕реА (рдЗрдВрдЯрд░рдкреНрд░реЛрд╕реЗрд╕ рд╕рдВрдЪрд╛рд░) / рдУрдПрд╕ рдбреЗрдореЛрдВрд╕, рдореИрд▓рд╛рдХ (рдЕрд╡рд░реБрджреНрдз), рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реА, рдЖрдИ / рдУред
  • рдзрд╛рдЧреЗ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рд╕реНрдлреЛрдЯрдХ рд╡реГрджреНрдзрд┐ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрдо рдХрддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░ рдбрд┐рд╕реНрдкреИрдЪ_рдЧреЗрдЯ_рдЧреНрд▓реЛрдмрд▓_рдХреНрдпреВ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдордирд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
    ( рдиреЛрдЯ perevред 1: рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рдпрд╣ рдПрдХ рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрдм рдереНрд░реЗрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рд╕реНрдлреЛрдЯрдХ рд╡реГрджреНрдзрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ "рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмреНрд▓реЙрдХ рд╣реИрдВ рдФрд░ рд╡реЗ рд╕рднреА рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рд╡рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдереНрд░реЗрдб рдХрд╣рддреЗ рд╣реИрдВ рд╡рд┐рд╕реНрдлреЛрдЯред " )
    ( рдиреЛрдЯ рдкреГрд╖реНрда 2: рдЪрд░реНрдЪрд╛ рд╕реЗ рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдпрд░реЗ рд╣рдмрдЬрд╝рд┐рдЯ рдХрд╛ рдорддрд▓рдм рдЙрди рдХрддрд╛рд░реЛрдВ рд╕реЗ рд╣реИ рдЬреЛ "рдХрд░реНрдиреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдХрд╛рдо рд╣реЛрддрд╛ рд╣реИ" рдирд┐рдЪрд▓реА рдХрддрд╛рд░реЛрдВ рдХреЗ рддрд╣рддред рдпрд╣рд╛рдБ рд╣рдо рдУрдПрд╕ рдХреЗ рдХрд░реНрдиреЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред )
  • рд╣рдореЗрдВ рдЙрд╕ рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдХреАрдбрд╝реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рдХреЙрд▓рдмреИрдХ рд╕реЗ рднрд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреЗ рд╣реИрдВред рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдкрдврд╝рдирд╛, рд▓рд┐рдЦрдирд╛ рдФрд░ рдмрдирд╛рдП рд░рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
  • рдЕрдиреБрдХреНрд░рдорд┐рдХ рд╡рд╛рд▓реЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХрддрд╛рд░реЗрдВ рдХрдо рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИрдВред рдпрджрд┐ рдЖрдк рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рдХреЛ рдорд╛рдк рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рд╕рдордпрдкреВрд░реНрд╡ рдЕрдиреБрдХреВрд▓рди рд╣реИред
  • рдпрджрд┐ рдЖрдкрдХреЛ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реВрдк рд╕реЗ рдФрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╕ рджреЛрдиреЛрдВ рдореЗрдВ рдПрдХ рдХрддрд╛рд░ рдореЗрдВ рдХрд╛рд░реНрдп рднреЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп dispatch_sync () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдбрд┐рд╕реНрдкреИрдЪ_рд╕реБрдВрдХ_рдЖрдВрдб_рд╡рд╛рдЗрдЯ () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред dispatch_async_and_wait () рдЙрд╕ рдереНрд░реЗрдб рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдХреЙрд▓ рдЙрддреНрдкрдиреНрди рд╣реБрдИ, рдЬреЛ рд▓рдХреНрд╖реНрдп рдкрдВрдХреНрддрд┐ рдХреЗ рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рд╕рдВрджрд░реНрдн рд╕реНрд╡рд┐рдЪрд┐рдВрдЧ рдХреЛ рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИред
    ( рдиреЛрдЯ рдЕрдиреБрд╡рд╛рджред 1: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рд╕реНрдкреИрдЪ_sync () рднреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдХреЗрд╡рд▓ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ "рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдкрд░ рдПрдХ рдмреНрд▓реЙрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛред рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде: рдореБрдЦреНрдп рдХрддрд╛рд░ рдореЗрдВ рднреЗрдЬреЗ рдЧрдП рдмреНрд▓реЙрдХ рдХреЛ рд╣рдореЗрд╢рд╛ рдореБрдЦреНрдп рдереНрд░реЗрдб рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред " )
    ( рдиреЛрдЯ рдЕрдиреБрд╡рд╛рджред 2: рдкреНрд░реЗрд╖рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ_ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ )
  • рд╕рд╣реА рдврдВрдЧ рд╕реЗ 3-4 рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдорд╛рдореВрд▓реА рд╡реГрджреНрдзрд┐ рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдФрд░ рдЕрдкрд╢рд┐рд╖реНрдЯ рдКрд░реНрдЬрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░реЛрд╕реЗрд╕рд░ рдУрд╡рд░рд╣реАрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрдВрдЯреЗрд▓ рдЯрд░реНрдмреЛ-рдмреВрд╕реНрдЯ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░ рджреЗрдЧрд╛ рдпрджрд┐ рдкрд░реНрдпрд╛рдкреНрдд рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЕрдкрдиреЗ рдЙрддреНрдкрд╛рдж рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдорд╛рдкреЗрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдЗрд╕реЗ рддреЗрдЬрд╝ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдзреАрдорд╛ рдирд╣реАрдВред рд╕реВрдХреНрд╖реНрдо рдкреНрд░рджрд░реНрд╢рди рдкрд░реАрдХреНрд╖рдгреЛрдВ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ - рд╡реЗ рдХреИрд╢ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВ рдФрд░ рдереНрд░реЗрдб рдкреВрд▓ рдХреЛ рдЧрд░реНрдо рд░рдЦрддреЗ рд╣реИрдВред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдПрдХ рдореИрдХреНрд░реЛ рдЯреЗрд╕реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
  • рдХрд╛рдорд╡рд╛рд╕рдирд╛ рдкреНрд░рднрд╛рд╡реА рд╣реИ, рд▓реЗрдХрд┐рди рдЪрдорддреНрдХрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рд╕рдВрд╕рд╛рдзрди рдЕрдирдВрдд рдирд╣реАрдВ рд╣реИрдВред рдЖрдк рдУрдПрд╕ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдирд╣реАрдВ рд╣реИред

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

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

рдореИрдВрдиреЗ рдЗрди рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рд╕реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рднрд╛рд░реА рд╕реБрдзрд╛рд░ рджреЗрдЦрд╛ред
(рдЕрддреНрдпрдзрд┐рдХ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ)ред рдпрд╣ рдПрдХ рдирдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИред

рдЕрдзрд┐рдХ рд▓рд┐рдВрдХ


рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдкреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмрд╣реБрдд рдХрдо рдХрддрд╛рд░реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП


( рдиреЛрдЯ perevред: рдЕрдВрддрд┐рдо рд▓рд┐рдВрдХ рдХреЛ рдкрдврд╝рдХрд░, рдХреНрд░рд┐рд╕ рд▓рдЯреНрдЯрдирд░ рдХреЗ рд╕рд╛рде рдкрд┐рдпрд░реЗ рд╣рдмреБрдЬрд╝рд┐рдЯ рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рдХреЗ рдмреАрдЪ рд╕реЗ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдХреЛ рд░реЛрдХ рдирд╣реАрдВ рд╕рдХрд╛ рдФрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ред рдиреАрдЪреЗ 039420.html рдореЗрдВ рдкрд┐рдпрд░реЗ рд╣рдмреБрдЬрд╝рд┐рдЯ рдХреЗ рдЙрддреНрддрд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред
<...>
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдЕрдкрдиреА рдмрд╛рдд рдордирд╡рд╛рдирд╛ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднрд╛рд╖рд╛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рдПрдХ рдЖрджрдореА рдирд╣реАрдВ рд╣реВрдВ, рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдПрдХ рд▓рдбрд╝рдХрд╛ рд╣реВрдВред рдФрд░ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрднрд┐рдиреЗрддрд╛рдУрдВ рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдУрдПрд╕ рдореЗрдВ рдХреИрд╕реЗ рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд▓реМрдЯрддреЗ рд╣реБрдП, рдЕрднрд┐рдиреЗрддрд╛-рдбреЗрдЯрд╛рдмреЗрд╕-рдбреЗрдЯрд╛, рдпрд╛ рдкрд╣рд▓реЗ рдХреЗ рдкрддреНрд░рд╛рдЪрд╛рд░ рд╕реЗ рдЕрднрд┐рдиреЗрддрд╛-рдиреЗрдЯрд╡рд░реНрдХ-рдЗрдВрдЯрд░рдлрд╝реЗрд╕, рдЗрд╕ SQL тАЛтАЛрдХреНрд╡реЗрд░реА рдпрд╛ рдЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд╡реЗрд░реА рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВред рдкрд╣рд▓реЗ рдРрд╕реА рдЗрдХрд╛рдЗрдпрд╛рдБ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ OS рдХреЛ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдЬрд╛рдирдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрдмрдХрд┐ SQL рдХреНрд╡реЗрд░реА рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд╡реЗрд░реА рд╕рд┐рд░реНрдл рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрддрд╛рд░рдмрджреНрдз рдЕрднрд┐рдиреЗрддрд╛ рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдЕрднрд┐рдиреЗрддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╢реАрд░реНрд╖-рд╕реНрддрд░ рд╣реИрдВ, рд╕реАрдзреЗ рдХрд░реНрдиреЗрд▓ / рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рд░рдирдЯрд╛рдЗрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ред рдФрд░ рдпрд╣реА рд╡рд╣ рд╕рд╛рд░ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрд░ рдХреЛ рддрд░реНрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдорд╣рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

рдкреНрд░реЗрд╖рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ 2 рдкреНрд░рдХрд╛рд░ рдХреА рдХрддрд╛рд░реЗрдВ рдФрд░ рдЗрд╕реА рдПрдкреАрдЖрдИ рд╕реНрддрд░ рд╣реИрдВ:
  • рд╡реИрд╢реНрд╡рд┐рдХ рдХрддрд╛рд░реЗрдВ рдЬреЛ рджреВрд╕рд░реЛрдВ рдХреА рддрд░рд╣ рдХрддрд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡реЗ рдХреЗрд╡рд▓ рдереНрд░реЗрдб рдкреВрд▓ рдкрд░ рдПрдХ рдЕрдореВрд░реНрдд рд╣реИрдВред
  • рдЕрдиреНрдп рд╕рднреА рдХрддрд╛рд░реЗрдВ рдЬреЛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рд▓рдХреНрд╖реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЬ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЧрд▓рддреА рдереА рдФрд░ рдЗрд╕рдореЗрдВ 3 рдкреНрд░рдХрд╛рд░ рдХреА рдХрддрд╛рд░реЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

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

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

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


рдЕрдиреБрдХреНрд░рдорд┐рдХ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реЗрдВред


рд╡реИрд╢реНрд╡рд┐рдХ рдХрддрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ


рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ


рд╕рд╛рдЭрд╛ рд╕реНрдерд┐рддрд┐ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХреНрд╕ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ


рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрд╕рд┐рдВрдХреНрд╕ рдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ


рдХреБрдЫ рд╡рд░реНрдЧреЛрдВ / рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕рдордХрд╛рд▓рд┐рдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП


рдЖрдкрд╕ рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕рдВрдШрд░реНрд╖ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХрд╛ рд╣рддреНрдпрд╛рд░рд╛ рд╣реИ


рдЧрддрд┐рд░реЛрдз рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрдм рдЖрдк рдПрдХ рд╕рд╛рдЭрд╛ рд╕реНрдерд┐рддрд┐ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рддреЛ рд▓реЙрдХрд┐рдВрдЧ рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ


рдПрдХ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдп рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдорд╛рдлреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ


NSOperation API рдореЗрдВ рдХреБрдЫ рдЧрдВрднреАрд░ рдиреБрдХрд╕рд╛рди рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред


рдорд╛рдЗрдХреНрд░реЛ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдЯреЗрд╕реНрдЯ рд╕реЗ рдмрдЪреЗрдВ


рд╕рдВрд╕рд╛рдзрди рдЕрд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИрдВ


Dispatch_async_and_wait () рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


3-4 рдХреЛрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ


IOS 12 рдореЗрдВ рдХрдИ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдПрдХрд▓-рдереНрд░реЗрдбреЗрдб рдбреЗрдореЙрди рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЧрдП рд╣реИрдВ

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


All Articles