일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- tour of go
- OS
- 코딩
- 알고리즘
- JUCE 튜토리얼
- 공룡책
- go
- vim-go
- C++ gui 라이브러리
- LOB
- BOJ
- C++
- 백준
- gui
- 운영체제
- Nebula
- a tour of go
- C언어
- Docker
- JUCE
- go channel
- 연결리스트
- C++ gui
- 자료구조
- 프로그래밍
- c++ heap
- JUCE library
- 리듬게임
- JUCE라이브러리
- C++ library
- Today
- Total
목록스레드 (2)
CafeM0ca
챕터4 연습문제 1번 : 멀티스레딩이 싱글스레딩 보다 성능이 좋은 프로그래밍 예시 3가지를 드시오 독립된 일들을 각각 스레드에게 맡길 때 task의 밸런스를 맞출 수 있고 데이터의 의존성을 식별할 수 있다.(network I/O, UI 렌더링 같은 일을 동시에 처리할 때) (테스크 병렬) 응답성, 자원 공유, 경제성, 규모성 data 단에서 데이터를 나눠서 스레드로 처리할 때 (데이터 병렬) 2번 : 암달의 법칙을 사용해서 어플리케이션이 60% 병렬 컴포넌트를 갖고 있을 떄 (a)2개의 프로세스 코어를 사용할 때와 (b)4개의 프로세르 코어를 사용할 때 값을 계산하세요. (a) 1 / ((1 - 60%) + 0.6 / 2) = 1 / (0.4 + 0.3) = 1 / (0.7) = 10 / 7 = 1.43..
챕터4 스레드 스레드는 thread id, program counter(PC), register set, stack으로 이루어져 있다. 스레드는 같은 프로세스의 포함되어 코드 영역, 데이터 영역, 열린 파일이나 시그널과 같은 운영체제 리소스를 공유한다. Parallelism의 종류 Data parallelism 데이터를 쪼개서 연산을 수행하는 것 배열이라는 데이터가 있으면 반으로 쪼개서 2개의 작업으로 나눠 연산 진행 Task parallelism 스레드간 각각의 고유한 일을 맡아서 처리하는 것 thread의 cancellation(취소) 취소되어야 할 스레드를 target thread라고 부른다. 두 가지 방식으로 취소할 수 있다. asynchronous cancellation : 한 스레드가 목적 스..