You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
코어는 중앙 처리 장치(CPU)의 물리적인 부분을 나타냅니다. 하나의 코어는 하나의 명령어 집합을 실행할 수 있는 독립적인 처리 유닛입니다.
다중 코어 시스템에서는 여러 개의 코어가 병렬로 작업을 수행할 수 있습니다.
코어의 개수는 시스템의 성능에 직접적인 영향을 미치며, 병렬 처리 능력을 결정합니다.
스레드(Thread):
스레드는 프로세스 내에서 실행되는 실행 흐름의 단위입니다. 하나의 프로세스에는 여러 개의 스레드가 있을 수 있습니다.
스레드는 독립적인 실행 흐름을 가지며, 서로 다른 스레드 간에는 메모리를 공유할 수 있습니다.
다중 스레드 프로그래밍을 통해 여러 작업을 동시에 수행하거나, 하나의 작업을 여러 개의 스레드로 분할하여 병렬로 처리할 수 있습니다.
병렬 프로그래밍
여러개의 CPU(코어)가 유사하거나 동일한 작업을 분담해서 처리하는 것 (다중코어)
Concurrent 동시성 프로그래밍
GCD, Operation, async/sync
여러 스레드를 이용하여 여러 작업을 동시에 처리하는 것
.global()
Serial 직렬 프로그래밍
하나의 스레드
순서대로 작업
기본값
.main
동기 sync /비동기 async
작업이 끝나기를 기다리냐 안기다리냐..
실행 종료시점을 알 수 있는가?
동기 → 기다림, 완전히 끝나야 다음 코드로..
비동기 → 안기다림, 다음 코드블럭 바로 실행
// 동기 DispatchQueue.main.sync{}// 직렬 동기DispatchQueue.global().sync{}// 동시 동기// 비동기DispatchQueue.main.async{}// 직렬 비동기 DispatchQueue.global().async{}// 동시 비동기
GCD
코어와 스레드 관리하지 않아도 시스템에서 알아서 관리..
DispatchQueue 클래스
→ GCD를 사용하기 위한 대기열, 대기열들에 작업을 추가해주기만 하면 시스템은 알아서 스레드를 관리해 작업을 처리함 DispatchQueue. . { }
단일 스레드 Serial → 기본값, .main
다중 스레드 Concurrent → .global()
동기 → sync
비동기 → async
main 쓰레드
앱의 생명주기를 가지고, 앱이 실행되는 동안에는 늘 메모리에 올라와 있음
전역적으로 사용 가능한 큐
동시에 여러작업 불가능
UI 작업은 메인쓰레드에서만 작업
…
The text was updated successfully, but these errors were encountered:
코어(Core):
스레드(Thread):
병렬 프로그래밍
여러개의 CPU(코어)가 유사하거나 동일한 작업을 분담해서 처리하는 것 (다중코어)
Concurrent 동시성 프로그래밍
GCD, Operation, async/sync
여러 스레드를 이용하여 여러 작업을 동시에 처리하는 것
.global()
Serial 직렬 프로그래밍
하나의 스레드
순서대로 작업
기본값
.main
동기 sync /비동기 async
작업이 끝나기를 기다리냐 안기다리냐..
실행 종료시점을 알 수 있는가?
동기 → 기다림, 완전히 끝나야 다음 코드로..
비동기 → 안기다림, 다음 코드블럭 바로 실행
GCD
코어와 스레드 관리하지 않아도 시스템에서 알아서 관리..
DispatchQueue 클래스
→ GCD를 사용하기 위한 대기열, 대기열들에 작업을 추가해주기만 하면 시스템은 알아서 스레드를 관리해 작업을 처리함
DispatchQueue. . { }
단일 스레드 Serial → 기본값, .main
다중 스레드 Concurrent → .global()
동기 → sync
비동기 → async
main 쓰레드
앱의 생명주기를 가지고, 앱이 실행되는 동안에는 늘 메모리에 올라와 있음
전역적으로 사용 가능한 큐
동시에 여러작업 불가능
UI 작업은 메인쓰레드에서만 작업
…
The text was updated successfully, but these errors were encountered: