My Blog

영상 후기 - 프로세스는 뭐고 스레드는 뭔가요? 본문

개발 관련 영상 후기

영상 후기 - 프로세스는 뭐고 스레드는 뭔가요?

JAESG 2023. 2. 28. 20:50

https://www.youtube.com/watch?v=iks_Xb9DtTM 

컴퓨터에 깔려있는 .exe파일은 다 프로그램이라고 한다.

그리고 그 프로그램이 실행돼서 돌아가고 있는 상태 즉 컴퓨터가 어떤 일을 하고 있는 상태를 '프로세스' 라고 함.

오늘날 쾌적하게 쓸 수 있는 것은 운영체제의 발전해서 멀티태스킹을 지원하기 때문임.

동시성 = 프로세스 하나가 여러 일을 조금 씩 하는 일 이라고 함

병렬성 = 프로세스 하나에 코어 여러개가 달려서 각각 동시에 수행하는 것

 

컴퓨터는 cpu의 발전으로 여러 프로세스를 한 번에 돌릴 수 있게 되었음.

 

이제 컴퓨터는 여러 프로그램을 함께 돌릴 수 있게 되었음.

근데 브라우저도 프로그램이고 유튜브에서 영상의 데이터를 받아오고 그 영상을 실행하는 것도 엄청 부담이 됨.

즉 한 프로세스 내에서도 여러 갈래의 작업들이 동시에 진행될 필요가 있음.

쉽게 설명하면 유튜브를 키고 영상을 들어가서 그 영상이 실행되는 것도 한 프로세스라고 보면 됨.

이런 갈래를 스레드라고 부름.

 

프로세서는 요리사고 대량주문이 들어오는 식당에서 끊임없이 만들어내는 요리 메뉴가 프로세스임.

컴퓨터는 프로세스마다 자원을 분할해서 할당함.

근데 같은 자원을 공유하는 게 더 효율적임

프로세스들은 컴퓨터의 자원을 분할해서 쓰지만 스레드는 프로세스마다 주어진 전체 자원을 함께 사용하는 것임.

 

이게 속도와 효율 면에서는 낫겠지만 단점도 있음.

프로세스 안에서 공유되는 변수에 스레드 두 개가 동시에 손을 대면 에러가 남.

이런 상황들을 예상하고 방지해야 하기 때문에 스레드를 사용하는 프로그램은 코드를 짜기도 디버깅을 해서 오류를 찾아내고 원인을 밝히기도 너무 까다로움.

 

 

728x90
Comments