관리 메뉴

클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

프로세스와 스레드 5 - 파이썬 코드로 스레드 확인 실습해보기 본문

알고리즘 및 자료 관리/컴퓨터 구조 & 운영체제

프로세스와 스레드 5 - 파이썬 코드로 스레드 확인 실습해보기

huenuri 2024. 10. 17. 23:19

이번에도 역시 스레드 실습을 진행해 보겠다.


 

 

 

코드로 스레드 만들기

 

test.py 파일을 만들고 해당 문서에 코드를 작성해 본다.

 

 

 

실행하면 pid 값을 출력할 수 있다. 이제 스레드를 만들어서 이를 출력해 볼 것이다. 이제 스레드를 실행할 함수를 만들고, 함수 정보와 함께 출력해 준다. 그리고 스레드 번호를 id로 받아오고 프로세스 id 값도 찍어준다.

 

 

 

 

 

 

foo의 PID 값이 my pid 값과 동일하다는 것을 알 수 있다. 스레드는 프로세스를 이루고 있는 자원을 공유하고 있고, PID 값도 공유하고 있는 실행 흐름의 단위이기 때문이다.


 

 

 

 

동일한 작업을 하는 여러 스레드 만들기

이번에는 동일한 작업을 하는 스레드를 만들어보았다.

 

각각의 스레드에서 실행한 스레드 값을 같을까, 다를까? 같을 것이다. 스레드들은 같은 프로세스에서 생성된 스레드를 공유하기 때문이다. 스레드의 전체 값은 같지만, 각기 다른 스레드의 값은 다를 것이다.

 

 

 

각각의 스레드 값을 동일하지만, 스레드 ID 값은 다르다. 


 

 

 

 

각기 다른 작업을 하는 스레드 생성하기

 

 

각기 다른 함수를 실행하면 서로 다르게 출력된다. 

 

 

 

 

 

이렇게 3개의 다른 함수에서 각기 다른 스레드가 출력되는 것을 볼 수 있다.

 


 

 

 

학습을 마치고

이번 실습 강의도 지난번 프로세스 실습처럼 별로 어렵지 않았다. 스레드는 프로세스와 어떤 차이가 있는지 실습을 통해 확인해 볼 수 있었다. 스레드는 동일한 프로세스를 공유하기에 스레드 ID는 모두 다르게 출력되고, 프로세스 ID는 모두 동일하게 출력이 된다는 것이다.