-
배리어(Barrier)프로그래밍/기록, 개념, 용어 2015. 2. 5. 01:47반응형
배리어(Barrier)
특정 작업을 시작하기 전에, 다른 스레드가 모두 완료되어야만 하는 때가 있을 수 있다.
이럴때 배리어를 이용하면 다른 스레드가 작업을 완료할 때까지 대기할 수 있다.
전형적인 사용 시기는 서로 다른 두 코드가 종속성을 가질 때다.
아래 코드에서 변수 total은 행렬의 각 항목에 값이 모두 설정되어야만 계산될 수 있다.
배리어를 이용하면 변수 total을 계산하기 전에 행렬에 값을 설정하는 모든 스레드가 완료하는 것을 보장한다.
배리어를 이용한 순서 보증
compute_values_held_in_mat();
barrier(); // 배리어
total = calc_value_from_mat();
반응형'프로그래밍 > 기록, 개념, 용어' 카테고리의 다른 글
뮤텍스(Mutex)와 크리티컬 리전/섹션(Critical Region/Section) (0) 2015.02.05 원자적 조작과 락-프리 코드(Atomic operation & Lock-Free code) (0) 2015.02.05 리더즈-라이터 락(Readers-Writer Lock) (0) 2015.02.05 세마포어(Semaphore) (0) 2015.02.05 포인터 에일리어스(Pointer Alias) (0) 2015.02.04