π Concurrency Programming Guide
λμμ±(Concurrency)μ λμμ λ°μνλ λ€μμ κ²λ€μ λν κ°λ μ΄λ€. λ©ν°μ½μ΄μ νμ°κ³Ό κ°κ°μ νλ‘μΈμμ μ½μ΄μ κ°μ μ¦κ°μ μ€νμΌλ‘, μννΈμ¨μ΄ κ°λ°μλ κ·Έκ²λ€λ‘ μ΄λμ μ»λ μλ‘μ΄ λ°©μμ΄ νμνλ€. OS Xμ iOS κ°μ μ΄μ체μ λ λ€μμ νλ‘κ·Έλ¨μ λ³λ ¬μ μΌλ‘ μ€ννλ κ²μ΄ κ°λ₯νμ§λ§, λλΆλΆμ νλ‘κ·Έλ¨μ λ°±κ·ΈλΌμ΄λμμ μ€νλκ³ νλ‘μΈμλ₯Ό μ°μμ μΌλ‘ μꡬνμ§ μλ μμ μ μννλ€. μ μ μ κ΄μ¬μ λκ³ μ»΄ν¨ν°λ₯Ό κ³μ λ°μκ² νλ κ²μ ν¬κ·ΈλΌμ΄λμ μ±μ΄λ€. λ§μ½ μ±μ΄ μνν΄μΌ ν μΌμ΄ λ§μ§λ§ μ¬μ© ν μ μλ μ½μ΄μ μΌλΆλ§ μ μ§νλ€λ©΄, μΆκ° νλ‘μΈμ± μμμ λλΉλλ κ²μ΄λ€.
κ³Όκ±°μλ μ±μ λμμ±μ λμ νλ €λ©΄, νλ μ΄μμ μ°λ λκ° νμνλ€. λΆννλ μ°λ λ μ½λλ₯Ό μμ±νλ κ²μ λμ μ μ΄λ€. μ°λ λλ μλμΌλ‘ κ΄λ¦¬ ν΄μΌ νλ low-level λꡬμ΄λ€. μ±μ μ΅μ μ μ°λ λ κ°μλ₯Ό μ 곡νλ κ²μ νμ¬μ μμ€ν μ μ μ¬λκ³Ό νλμ¨μ΄ κΈ°λ°μΌλ‘ λμ μΌλ‘ λ³ν μ μμΌλ―λ‘, μ μ ν μ°λ λ© μ루μ ꡬνμ λΆκ°λ₯ νμ§λ μμ§λ§ λ§€μ° μ΄λ ΅λ€. κ²λ€κ°, μ°λ λμ ν¨κ» μ¬μ©λλ λκΈ°ν λ©μ»€λμ¦μ μΌλ°μ μΌλ‘ μ±λ₯ ν₯μμ 보μ₯νμ§ μμΌλ©΄μ μννΈμ¨μ΄ μ€κ³μ 볡μ‘μ±κ³Ό μνμ λνλ€.
OS Xκ³Ό iOS λͺ¨λ μ ν΅μ μΌλ‘ μ€κ³λ μ°λ λ λ² μ΄μ€ μμ€ν κ³Ό μ± λ³΄λ€, λμμ λ°μνλ νμ€ν¬μ μνμ λΉλκΈ°μ μΌλ‘ μ κ·Όνλ λ°©μμ μ±ννλ€. μ°λ λλ₯Ό μ§μ λ§λλ κ² λμ , μ±μ μ±μ λ¨μ§ νΉμ νμ€ν¬λ₯Ό μ μνκ³ μμ€ν μ΄ μννλλ‘ νλ©΄ λλ€. μμ€ν μ΄ μ°λ λλ₯Ό κ΄λ¦¬νλλ‘ ν¨μΌλ‘μ¨, μ±μ raw μ°λ λμμλ λΆκ°λ₯ν μμ€μ νμ₯μ±μ μ»λλ€. μ± κ°λ°μλ κ°λ¨νκ³ λ ν¨μ¨μ μΈ νλ‘κ·Έλλ° λͺ¨λΈ λν μ»μ μ μλ€.
- Concurrency and Application Design λΉλκΈ° μ± μ€κ³μ κΈ°μ΄μ 컀μ€ν λΉλκΈ° μμ μ μννλ κΈ°μ μλν μκ°
- Opreation Queues Objective-C κ°μ²΄λ₯Ό μ¬μ©ν μμ μ μΊ‘μνμ μν λ°©λ²
- Dispath Queues C λ² μ΄μ€ μ±μμ μ΄λ»κ² λμ μμ μ μννλμ§
- Dispath Sources μμ€ν μ΄λ²€νΈλ₯Ό λΉλκΈ°μ μΌλ‘ λ€λ£¨λ λ°©λ²
- Migration Away from Threads μ°λ λ κΈ°λ°μΌλ‘ μ‘΄μ¬νλ μ½λλ₯Ό μλ‘μ΄ κΈ°μ λ‘ λ§μ΄κ·Έλ μ΄μ νλ νκ³Ό κΈ°μ μ 곡
λμμ±μ λν ν λ‘ μ λ€μ΄κ°κΈ° μ μ, νΌλμ λ§κΈ° μν΄ κ΄λ ¨ μ©μ΄μ λν μ μκ° νμνλ€. UNIX μμ€ν μ΄λ μ΄μ OS X κΈ°μ μ μ΅μν κ°λ°μλ€μ "task", "process", κ·Έλ¦¬κ³ "thread"λΌλ μ©μ΄λ₯Ό μ΄ λ¬Έμμμλ μ‘°κΈμ λ€λ₯΄κ² μ¬μ©νκ³ μλ€λ κ²μ λ°κ²¬ν κ²μ΄λ€. μ΄ λ¬Έμλ μ΄ μ©μ΄λ€μ μ΄λ°μμΌλ‘ μ¬μ©νλ€
- threadλ μ½λμ λν λ³λμ μ€ν κ²½λ‘λ₯Ό μΈκΈνλλ° μ¬μ©λλ€. OS Xμ μ°λ λ ꡬνμ POSIX threads APIλ₯Ό κΈ°λ°μΌλ‘ νλ€.
- prcoessλ λ©ν°μ°λ λλ₯Ό μμ°λ₯΄λ μ€ννμΌμ μ§μΉνλλ° μ¬μ©λλ€.
- taskλ μνλμ΄μΌ νλ μμ μ μΆμμ μΈ κ°λ μ μ§μΉνλλ° μ¬μ©λλ€.