프로그래밍/기록, 개념, 용어
배리어(Barrier)
제페
2015. 2. 5. 01:47
반응형
배리어(Barrier)
특정 작업을 시작하기 전에, 다른 스레드가 모두 완료되어야만 하는 때가 있을 수 있다.
이럴때 배리어를 이용하면 다른 스레드가 작업을 완료할 때까지 대기할 수 있다.
전형적인 사용 시기는 서로 다른 두 코드가 종속성을 가질 때다.
아래 코드에서 변수 total은 행렬의 각 항목에 값이 모두 설정되어야만 계산될 수 있다.
배리어를 이용하면 변수 total을 계산하기 전에 행렬에 값을 설정하는 모든 스레드가 완료하는 것을 보장한다.
배리어를 이용한 순서 보증
compute_values_held_in_mat();
barrier(); // 배리어
total = calc_value_from_mat();
반응형