Thread
![[전공생이 설명하는 OS] 쓰레드(Thread)와 동기화 문제](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FNT2MW%2FbtrAKuZuXQ8%2FAAAAAAAAAAAAAAAAAAAAAPrhOsXW-zohpy1urwd3ZPytPwQ2YEpoHOJoIHn6vgsh%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DbpPrbYvOTOolMXJnSV5GW6tx7rw%253D)
[전공생이 설명하는 OS] 쓰레드(Thread)와 동기화 문제
1. 쓰레드의 의미 프로세스의 의미를 두가지 측면에서 설명할 수 있다. (자원 관점) 자원 소유자로서의 최소 단위 (제어 관점) schedule 의 최소 단위 / 실행의 단위 보통 개발할 때 하나의 실행 흐름(single execution sequence)만 생각하기 쉽다.. 하지만 실제로 프로세스에는 실타래와 같이 여러개의 실행흐름(multiple execution sequence)이 존재할 수 있다. 이 때 실행의 단위(the unit of execution sequence)를 thread 라고 정의한다. 따라서 현대 os에서 multithreading은 단일 프로세스 내에서 여러개의 실행 흐름을 지원할 수 있는 능력을 의미한다. 가장 중요한 점은 다수의 thread는 같은 프로세스 내의 자원을 공유..
![[Python 뜯어보기] 3. 파이썬 Thread 와 GIL](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbiErUr%2FbtrwLiiATtp%2FAAAAAAAAAAAAAAAAAAAAAKsdyfdlCv4NGgPMFdHY_QSsKCRJA8DAdbK9MFw66cPT%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DsbasVapzCzUuSh9RJG81OcpEVo8%253D)
[Python 뜯어보기] 3. 파이썬 Thread 와 GIL
자료 출처: http://www.dabeaz.com/python/UnderstandingGIL.pdf 1. Thread Execution Model (with GIL) - 파이썬을 실행시키면 => 하나의 프로세스, 하나의 인터프리터 - 파이썬 쓰레드는 real system(os) thread 이다.(unix 계열 posix thread, window 계열 window thread.) 완전히 os 가 관리한다. - GIL(global interpreter lock): 한 프로세스에는 여러 스레드가 존재할 수 있는데, 한 스레드가 인터프리터를 사용할 때 다른 쓰레드는 인터프리터를 사용할 수 없다. (인터프리터를 사용한다는 말은 파이썬 코드를 해석->실행시킨다는 말) - 즉 한 스레드가 cpu bound jo..