반응형 원자성1 [멀티코어CPU] 09. 병렬 프로그래밍 & 하이젠 버그 - 원자적 연산 (atomic operation) : 원자 연산 → 더 이상 나눠지지 않는 연산 : DataRace 문제 발생할 수 있음 → 두 개 이상의 스레드가 공유 자원을 놓고 서로 경제적으로 값을 읽고 써서 발생함 : 원자 연산이 되도록 처리해주어야 함 뮤텍스(mutex) 세마포어(semaphore) 어떤 코드 영역이나 데이터의 배타적 접근 (상호배제)을 보장하는 객체 Critical section 또는 lock이라고도 부름 세마포어는 최대 n명이 공유 자원을 동시에 접근 가능하게 하고 나머지 객체는 한 번에 한 명만 공유 자원에 접근 가능함 조건 변수(conditional variable) 이벤트(event) 한 스레드가 어떤 조건이 만족되거나 신호가 올 때까지 잠자도록 함. 다른 스레드가 이 .. 2024. 4. 11. 이전 1 다음 728x90 반응형