신입 자라기 76일 차, 월요일
Daily Routine
시간 | Routine |
6 : 50 | 기상 |
7 : 10 ~ 8 : 10 | 출근 시간 |
8 : 10 ~ 9 : 10 | 헬스 |
9 : 10 ~ 9 : 30 | 샤워 |
9 : 30 ~ 9 : 50 | 출근 |
9 : 50 ~ 10 : 00 | 1. 짐정리 |
10 : 00 ~ 11 : 30 | 1. 기능 구현 |
11 : 30 ~ 12 : 30 | 점심 시간 |
12 : 30 ~ 18 : 00 | 1. 기능 구현 |
18 : 00 ~ 19 : 00 | 저녁 시간 |
19 : 00 ~ 20 : 50 | 1. 뭐햇지 |
20 : 50 ~ 23 : 00 | 퇴근 및 휴식 |
23 : 00 ~ 24 : 00 | 1. 블로그 포스팅 |
파이썬 멀티 스레드
- 멀티 쓰레딩이 불가능한 건 아니고, 병렬 실행이 불가능
- 파이썬은 모든것이 객체로 이루어져 있는데, 각 객체는 참조 횟수를 저장하는 필드가 있음
참조 횟수 : 그 객체를 가리키는 참조가 몇 개 존재하는지를 나타내는 것
- 파이썬에서 GC(Garbage Collection)는 참조 횟수가 0이 되면, 해당 객체를 메모리에서 삭제함
- 여러 개 스레드가 파이썬 인터프리터를 동시에 실행하면 Race Condition이 발생할 수 있음
Race Condition : 여러 쓰레드가 하나의 값에 동시에 접근해서 값이 올바르지 않게 읽히는 상태
- Race Condition은 뮤 텍스(Mutex)를 이용해 예방하는데, 다중 스레드가 한 공유 자원에 접근하는데 그때 자원을 사용할 수 있는 권한 같은 것임
- 즉, 파이썬에서 모든 것은 객체이며 참조 횟수를 가진다. 따라서 모든 객체에 대한 뮤 텍스(권한) 같은 것을 줘야 하는데 매우 비효율적이기 때문에 애초에 한 스레드가 인터프리터를 실행할 때 다른 스레드들이 실행하지 못하도록 막음
- 따라서 멀티스레드는 가능하지만 병렬 실행은 불가능
피그 브라더님의 블로그를 참조했습니다.
https://it-eldorado.tistory.com/160
출근길에 보는 CS
가상 메모리 매핑 테이블
- 가상 주소는 실제 물리 주소 혹은 스왑 영역 중 한 곳에 위치
- 메모리 관리자는 가상 주소와 물리 주소를 1 : 1 매핑 테이블로 관리
버퍼
- 두 장치 사이의 속도 차이를 완화하는 역할
- 예를 들어 입출력 장치는 CPU의 처리 속도에 비하면 매우 느림. 데이터를 읽을 때 마하 하나씩 전송하면 작업량에 비해 전송하는 양은 매우 적을 것임. 하지만 버퍼 사이즈만큼 모아서 전송하면 적은 작업량으로 많은 데이터를 전송할 수 있음
'Study > 신입 자라기' 카테고리의 다른 글
[Study] 신입 자라기 - 78 (0) | 2022.06.03 |
---|---|
[Study] 신입 자라기 - 77 (0) | 2022.06.01 |
[Study] 신입 자라기 - 75 (0) | 2022.05.27 |
[Study] 신입 자라기 - 74 (0) | 2022.05.27 |
[Study] 신입 자라기 - 73 (0) | 2022.05.25 |