[Java] 동시성(Concurrency)과 병렬성(Parallelism) 차이
Roel Downey
동시성(Concurrency) 동시성은 앞에서 언급했듯이 많은 일을 한번에 다루는 걸 의미한다. 동시성은 작업들을 동시에 실행하는 것이 아니라 위의 그림같이 여러 작업들을 작게 쪼개서 번갈아 가며 수행하는 것을 의미한다. 컴퓨터에서는 굉장히 빠른 속도로 처리하기 때문에 동시에 처리되는 것처럼 느껴지지만 시간의 관점으로는 동시가 아니다. 이러한 관점으로 본다면 싱글코어 컴퓨터가 어떻게 멀티태스킹이 가능한지 알 수 있다. 현실세계에서 병렬적으로 일어나는 일들을 컴퓨터 세계에서 구현하기 위한 방법 중 하나가 '동시성'이다. 병렬성(Parallelism) 병렬성은 동시에 많은 일을 실행하는 것을 의미한다. 시간의 관점으로도 완벽한 동시가 맞다. 병렬성은 싱글 코어에서는 불가능하다. 멀티 코어이거나 싱글 코어 컴..