(JAVA) 싱글쓰레드와 멀티쓰레드
2020. 1. 20. 00:49
두 개의 작업을 하나의 쓰레드로 처리 vs 두 개의 쓰레드로 처리 (a)의 경우에는 한 작업을 마친 후에 다른 작업을 시작하지만 (b)의 경우에는 th1 th2 가 번갈아가면서 작업을 수행한다. (b)의 경우는 처리시간이 빠르기에 두 작업이 동시에 일어나는 것처럼 보인다. (b)의 경우가 당연히 수행시간이 빠를 거라고 생각하지만 오히려 시간이 더 걸린다. 이유는 컨텍스트 스위칭에 시간이 걸리기 때문이다. 컨텍스트 스위칭 : 프로세스 혹은 쓰레드간의 전환을 의미 더보기 * 컨텍스트 스위칭(Context Switching) : CPU 내에 존재하는 레지스터들은 현재 실행 중인 프로세스 관련 데이터들로 채워진다. 실행 중인 프로세스가 변경이 되면, CPU 내 레지스터들의 값이 변경되어야 하는데, 변경되기 전에..