Linux C++ 이벤트
2021. 10. 6. 14:32ㆍ기타
윈도우 이벤트 구현을 WaitForSingleObject 나 WaitForMultipleObjects를 이용해서 구현하다가
리눅스에서 구현하기 위해서 이래저래 알아보다 구현 방법정리함.
1. 변수 선언
std::condition_variable trigger_event;
std::mutex trigger_mutex;
int trigger_type = 0;
int trigger_state = 0;
2. 트리거 기다리는 부분
while(1){
std::unique_lock<std::mutex> lk(trigger_mutex);
if (trigger_event.wait_for(lk, 500ms, [] {
return trigger_state == 1; })
)
{
trigger_state = 0;
switch(trigger_type){
case 0:
break;
case 1:
break;
}
}
3. 트리거 발생 부분
trigger_state = 1;
trigger_event.notify_one();
'기타' 카테고리의 다른 글
C++ 몰랐던 것들.. (1) (0) | 2021.11.04 |
---|---|
소켓통신 원리(1) (0) | 2021.10.22 |
(부산)해외 출국을 위한 영문 코로나 음성 검사 증명서 (0) | 2021.07.30 |
키보드 후킹을 이용한 바코드 읽기 (0) | 2021.05.07 |
자동차 번호판 학습하기 (1) | 2021.04.19 |