POSIX 타이머 (timer_create()
)를 사용하는 프로그램이 있습니다. 본질적으로 프로그램은 타이머를 설정하고 길고 (잠재적으로 무한한) 계산을 시작합니다. 타이머가 만료되고 신호 처리기가 호출되면 처리기는 아직 계산되어 프로그램을 종료 한 최상의 결과를 인쇄합니다.OpenMP 병렬 프로그램의 신호 처리
OpenMP를 사용하여 계산을 병렬로 수행하는 것이 속도가 빨라지므로이를 고려해야합니다.
pthreads에는 내 스레드에 대한 신호 마스크를 설정하는 특수 기능이 있습니다. OpenMP가 이러한 제어 기능을 제공합니까? 아니면 OpenMP가 생성 한 스레드에 신호를 전달할 수 있다는 사실을 받아 들여야합니까?
또한 현재 코드의 병렬 섹션에 있고 처리기가 호출 된 경우에도 안전하게 응용 프로그램 (exit(0);
)을 종료하고 OpenMP 잠금을 잠그는 것과 같은 작업을 수행 할 수 있습니까?
아마도,이 출구를 잡는 하나의 블록을 사용하여 해결 될 수있다 (도 1 참조) ? – Bort
OpenMP 사양에 "signal"이라는 단어가 없습니다. – jfs