일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자료구조
- 쓰레드
- 파일시스템 구현
- DirectX 12
- 타입 객체
- OS
- Direct12
- DirectX12
- I/O장치
- 영속성
- 그리디 알고리즘
- 병행성 관련 오류
- 디자인패턴
- 프로그래머스
- 병행성
- 동적계획법
- 렌더링 파이프라인
- 운영체제
- 다이나믹 프로그래밍
- 알고리즘
- 그리디알고리즘
- 컨디션 변수
- directx
- 멀티프로세서
- 스케줄링
- 멀티쓰레드
- 락
- 다이나믹프로그래밍
- 백준
- codility
Archives
- Today
- Total
목록병렬 자료구조 (1)
기록공간

흔하게 사용되는 자료 구조에서 락을 사용하는 방법을 살펴보도록 하겠다. 자료 구조에 락을 추가하여 쓰레드가 사용할 수 있도록 만들면 그 구조는 쓰레드 사용에 안전(thread safe)하다고 할 수 있다. 물론 락인 어떤 방식으로 추가되었느냐에 따라 자료 구조의 정확성과 성능을 좌우할 것이다. 병렬 카운터 카운터는 가장 간단한 자료 구조 중 하나이다. 보편적으로 사용되는 구조이면서 인터페이스가 간단하다. 간단하지만 확장성이 없음 동기화되지 않은 카운터는 몇 줄 안되는 코드로 작성할 수 있는 평범한 자료 구조이다. 다음은 락이 없는 카운터의 코드이다. class counter_t { int value; public: counter_t() {value = 0:} void increment() {value++..
OS
2020. 4. 29. 18:08