Process , Thread

욱2·2023년 7월 20일
		

프로세스 (Process)와 스레드 (Thread)의 차이점은 무엇인가요?

Thread - 일 처리
Multithread - 동시에 일 처리

Process - Multithread

한 프로세스 안에서 여러 작업들이 동시에 진행할수 있어야한다.
유저가 카카오톡, 슬랙, 유투브를 동시에 사용하고 싶다면
카카오톡 프로세스, 슬랙 프로세스, 유트브 프로세스를 사용하게 된다.
그리고 각 프로세스는 멀티쓰레드를 사용하게 되는데
예를 들면 카카오톡은 톡을 주고 받고 알림 띄워지며 다양한 작업을 동시에 처리합니다.

프로세스: 독립적인 메모리 공간을 가지며, 실행 중인 프로그램의 인스턴스를 나타냅니다.
다른 프로세스와 독립적이기 때문에 안정적이지만, 컨텍스트 전환에 비용이 많이 듭니다.

스레드: 하나의 프로세스 내에서 실행되는 여러 작업 단위를 말하며, 프로세스의 자원을 공유합니다.
스레드는 프로세스 내부에서 동작하므로 프로세스보다 경량적이지만, 공유 자원에 대한 동기화 문제가 발생할 수 있습니다.

동기 (Synchronous)와 비동기 (Asynchronous) 코드 실행 방식에 대해 설명해보세요.

동기적 실행은 순차적이고 블로킹이 발생하지만, 비동기적 실행은 동시에 여러 작업을 수행하고 블로킹을 최소화하여 성능을 개선합니다.

profile
성장하는 날 위한 기록

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

글이 많은 도움이 되었습니다, 감사합니다.

답글 달기