Concurrency Programming Guide πŸ“™

YaR LabΒ·2023λ…„ 7μ›” 4일
0

swiftΒ πŸ“™

λͺ©λ‘ 보기
5/16
post-thumbnail

1️⃣ μ†Œκ°œ

λ™μ‹œμ„±μ€ μ—¬λŸ¬ 가지 일이 λ™μ‹œμ— μΌμ–΄λ‚˜λŠ” κ°œλ…μž…λ‹ˆλ‹€. 닀쀑 μ½”μ–΄ CPU의 보급과 각 ν”„λ‘œμ„Έμ„œμ— μžˆλŠ” μ½”μ–΄ μˆ˜κ°€ 계속 증가할 κ²ƒμž„μ„ 깨달은 μ§€κΈˆ, μ†Œν”„νŠΈμ›¨μ–΄ κ°œλ°œμžλ“€μ€ 이λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•œ μƒˆλ‘œμš΄ 방법이 ν•„μš”ν•©λ‹ˆλ‹€. OS X와 iOS와 같은 운영 μ²΄μ œλŠ” λ³‘λ ¬λ‘œ μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•  수 μžˆμ§€λ§Œ, λŒ€λΆ€λΆ„μ˜ ν”„λ‘œκ·Έλž¨μ€ λ°±κ·ΈλΌμš΄λ“œμ—μ„œ μ‹€ν–‰λ˜λ©° 연속적인 ν”„λ‘œμ„Έμ„œ μ‹œκ°„μ΄ 거의 ν•„μš”ν•˜μ§€ μ•ŠλŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€. ν˜„μž¬ ν™œμ„±ν™”λœ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ‚¬μš©μžμ˜ 주의λ₯Ό 끌고 컴퓨터λ₯Ό λ°”μ˜κ²Œ μœ μ§€ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. μž‘μ—…μ„ 많이 μˆ˜ν–‰ν•΄μ•Ό ν•  μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄μ§€λ§Œ μ‚¬μš© κ°€λŠ₯ν•œ μ½”μ–΄ 쀑 μΌλΆ€λ§Œ μ μœ ν•˜κ³  μžˆλ‹€λ©΄, κ·Έ μΆ”κ°€ 처리 μžμ›μ€ λ‚­λΉ„λ©λ‹ˆλ‹€.

κ³Όκ±°μ—λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— λ™μ‹œμ„±μ„ λ„μž…ν•˜κΈ° μœ„ν•΄ ν•˜λ‚˜ μ΄μƒμ˜ μΆ”κ°€ μŠ€λ ˆλ“œλ₯Ό 생성해야 ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μŠ€λ ˆλ“œ 기반 μ½”λ“œ μž‘μ„±μ€ 어렀움이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. μŠ€λ ˆλ“œλŠ” μˆ˜λ™μœΌλ‘œ 관리해야 ν•˜λŠ” μ €μˆ˜μ€€ λ„κ΅¬μž…λ‹ˆλ‹€. ν˜„μž¬ μ‹œμŠ€ν…œ λΆ€ν•˜μ™€ 기반 ν•˜λ“œμ›¨μ–΄μ— 따라 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 졜적 μŠ€λ ˆλ“œ μˆ˜κ°€ λ™μ μœΌλ‘œ 변경될 수 μžˆλŠ” 점을 κ°μ•ˆν•˜λ©΄, μ˜¬λ°”λ₯Έ μŠ€λ ˆλ”© μ†”λ£¨μ…˜μ„ κ΅¬ν˜„ν•˜λŠ” 것은 맀우 μ–΄λ ΅κ±°λ‚˜ λΆˆκ°€λŠ₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€. κ²Œλ‹€κ°€ μŠ€λ ˆλ“œμ™€ ν•¨κ»˜ 일반적으둜 μ‚¬μš©λ˜λŠ” 동기화 λ©”μ»€λ‹ˆμ¦˜μ€ μ„±λŠ₯ ν–₯상을 보μž₯ν•˜μ§€ μ•ŠμœΌλ©΄μ„œ μ†Œν”„νŠΈμ›¨μ–΄ 섀계에 λ³΅μž‘μ„±κ³Ό μœ„ν—˜μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

OS X와 iOSλŠ” 기쑴의 μŠ€λ ˆλ“œ 기반 μ‹œμŠ€ν…œκ³Ό μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œλ³΄λ‹€ 비동기적인 μ ‘κ·Ό 방식을 μ±„νƒν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 직접 μŠ€λ ˆλ“œλ₯Ό μƒμ„±ν•˜λŠ” λŒ€μ‹ , μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ νŠΉμ • μž‘μ—…μ„ μ •μ˜ν•œ ν›„ μ‹œμŠ€ν…œμ— μˆ˜ν–‰μ„ 맑기면 λ©λ‹ˆλ‹€. μ‹œμŠ€ν…œμ΄ μŠ€λ ˆλ“œλ₯Ό κ΄€λ¦¬ν•˜λ„λ‘ ν•¨μœΌλ‘œμ¨, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ€ μ›μ‹œ μŠ€λ ˆλ“œλ‘œλŠ” 얻을 수 μ—†λŠ” ν™•μž₯μ„± μˆ˜μ€€μ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. μ• ν”Œλ¦¬μΌ€μ΄μ…˜ κ°œλ°œμžλ“€μ€ 더 κ°„λ‹¨ν•˜κ³  효율적인 ν”„λ‘œκ·Έλž˜λ° λͺ¨λΈλ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ„œλŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ™μ‹œμ„±μ„ κ΅¬ν˜„ν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•΄μ•Ό ν•˜λŠ” 기술과 κΈ°μˆ λ“€μ„ μ„€λͺ…ν•©λ‹ˆλ‹€. 이 λ¬Έμ„œμ—μ„œ μ„€λͺ…ν•˜λŠ” κΈ°μˆ μ€ OS X와 iOSμ—μ„œ λͺ¨λ‘ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

"OS X"λŠ” 이전에 Apple이 Mac 운영 체제둜 μ‚¬μš©ν•œ μ΄λ¦„μž…λ‹ˆλ‹€. 2016λ…„λΆ€ν„° Apple은 macOS둜 운영 체제의 이름을 λ³€κ²½ν•˜μ˜€μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ―€λ‘œ "OS X"와 "macOS"λŠ” 사싀상 λ™μΌν•œ 운영 체제λ₯Ό κ°€λ¦¬ν‚΅λ‹ˆλ‹€.

0개의 λŒ“κΈ€