Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 게임공학과
- Atomic
- 멀티쓰레드
- vector
- 옵저버
- observer pattern
- c++
- Unreal
- 한국산업기술대학교
- sequential
- 디자인패턴
- 복사생성자
- material
- stl
- Design Pattern
- 멀티코어 프로그래밍
- 옵저버 패턴
- 메모리관리
- MultiCore
- C
- 프레임워크
- thread
- 멀티코어
- random access
- 유니크포인터
- EFFECTIVE C++
- Multithread
- 쓰레드
- multi-core
- 스마트포인터
Archives
- Today
- Total
목록Lock (2)
태크놀로지

이전시간 리뷰 현실의 공유 메모리는 Atomic 하지 않다. 하지만 프로그래밍은 Atomic Memory를 가정해야한다. 성능 향상을 위해 멀티쓰레드 프로그래밍을 해야한다. -> Data Race 발생 Data Race를 최소화 해야한다. -> Data Race는 모든 오동작의 근원 어쩔 수 없이 남은 Data Race를 Lock 없이 해결해야한다. -> Data race를 모두 없앨 순 없고, lock으로 해결하는 것은 성능 패널티가 크다. Data Race는 공유 객체 때문에 발생한다. -> 객체 int, float, struct, class, container ,,, 따라서 논블로킹 멀티쓰레드 객체가 필요하다. Q. 기존의 싱글쓰레드 자료구조도 Atomic Memory를 사용해서 멀티쓰레드 자료구조..
멀티코어
2020. 11. 3. 17:03
멀티쓰레드 프로그래밍으로 덧셈프로그램 만들기
한국산업기술대학교 게임공학부 정내훈 교수님 멀티코어 2주차 강의 멀티쓰레드 프로그래밍에서 중요한사항 올바른 결과가 나와야한다. 싱글 쓰레드보다 성능향상이 커야한다. 실습1 - 여러 쓰레드 생성 #include #include #include using namespace std; int sum = 0; void f() { for (int i = 0; i < 2500'0000; ++i) sum += 2; } int main() { vector threads; for (int i = 0; i < 2; ++i) threads.emplace_back(f); for (auto& t : threads) t.join(); cout
멀티코어
2020. 9. 8. 20:27