concurrency
-
Go 언어에서 Concurrency (동시성) 과 Parallelism (병렬성)Dev 2025. 3. 24. 00:06
🧪 예제 1: Concurrency (동시성) – goroutine 사용package mainimport ( "fmt" "time")func printSlow(text string) { for i := 0; i 🔍 실행 결과 (예상)main 0goroutine 0main 1goroutine 1...main() 함수는 printSlow("main")을 실행하면서동시에 printSlow("goroutine")은 goroutine으로 동시 실행됨한 CPU 코어에서 context switching 하면서 동시성처럼 보임→ 실제로는 빠르게 번갈아 가며 실행하는 concurrent behavior 🧪 예제 2: Parallelism (병렬성) – runtime.GOMAXPROCSpackage mainimpo..
-
concurrency(동시성)와 parallelism(병렬성)의 차이Interview 2025. 3. 24. 00:03
구분Concurrency (동시성)Parallelism (병렬성)정의여러 작업을 번갈아 가며 처리여러 작업을 동시에 처리목적효율적인 자원 사용빠른 실행 속도실행 방식한 번에 하나만 실행되지만 빠르게 전환진짜 동시에 여러 개 실행전제 조건하나의 CPU 코어로도 가능둘 이상의 CPU 코어 필요예시바텐더가 여러 고객을 순차 처리바텐더 3명이 각자 고객을 동시에 처리🔍 더 구체적으로 비교✅ 1. Concurrency (동시성)시스템이 여러 작업을 동시에 처리하는 것처럼 보이게 함실제로는 작업을 잘게 쪼개서 빠르게 스위칭OS의 스레드 스케줄링, Go의 goroutine, Node.js의 event loop가 대표 예💡 예시한 명의 요리사가 여러 요리를 동시에 준비하려고,A요리를 끓이는 동안 B요리를 자르러 가..