싱글쓰레드와 멀티쓰레드

양성빈·2022년 8월 12일
post-thumbnail

참고
자바의 정석
https://velog.io/@gil0127/%EC%8B%B1%EA%B8%80%EC%8A%A4%EB%A0%88%EB%93%9CSingle-thread-vs-%EB%A9%80%ED%8B%B0%EC%8A%A4%EB%A0%88%EB%93%9C-Multi-thread-t5gv4udj

싱글쓰레드와 멀티쓰레드

싱글쓰레드는 한 작업을 마친 후 다른 작업을 시작하지만 멀티쓰레드는 짧은 시간동안 2개의 쓰레드가 번갈아 가면서 작업을 수행해서 동시에 두 작업을 처리하는 것과 같이 느끼게 된다.

경우에 따라 오히려 멀티쓰레드로 작업한게 싱글쓰레드보다 오래 걸릴 수가 있는데 그 이유는 쓰레드간의 작업 전환 (컨텐스트 스위칭)에 시간이 걸리기 때문이다. 그래서 싱글 코어에서 단순히 CPU만을 사용하는 계산작업이라면 오히려 멀티쓰레드보다 싱글쓰레드로 프로그래밍하는 것이 더 효율적이다.

두 쓰레드가 서로 다른 자원을 사용하는 작업의 경우에는 싱글 쓰레드 프로세스보다 멀티 쓰레드 프로세스가 더 효율적이다.

profile
모든 것을 즐길줄 아는 개발자입니다!

0개의 댓글