안녕하세요 현재 사용자가 유휴 상태로 일정 시간 후에 사용자가 자동으로 로그 아웃하는 C++ 타이머를 구현하려고합니다. 내가 무엇을하고 싶은지는 사용자가 NotIdleException이 main에서 호출 된 명령을 입력하고 15 분 동안 sleep 함수를 실행하는 스레드가 타이머 시작 부분부터 다시 시작될 때입니다.C++ 크로스 스레드 예외 Throwing
타이머 코드는 여기에 있습니다. http://pastebin.com/tw1YGcmu
문제는 내가 주 스레드에서이 예외를 호출하고 타이머 스레드에서 try catch에 의해 처리되도록하고 싶습니다. C++ (크로스 플랫폼!)에서이 작업을 수행 할 수있는 방법이 있습니까?
'boost :: asio'에는 이미 [타이머]가 있습니다 (http://www.boost.org/doc/libs/1_54_0/doc/html/boost_asio/overview/timers.html); 'boost :: thread'는 잠자는 동안 중단 될 수 있습니다 (['thread :: interrupt'] (http://www.boost.org/doc/libs/1_54_0/doc/html/thread/thread_management.html#thread. thread_management.thread.interrupt)), 인터럽트 된 스레드에서 예외를 발생시킵니다. – dyp
크기를 적당하게 유지하면서 질문에 관련 코드를 포함 시키십시오. 질의 응답이 링크없이 * 설 수있는 한 질문이나 답변의 링크는 괜찮습니다. – dandan78
예외를 사용하여 스레드간에 (예외가 아닌) 메시지를 전달 하시겠습니까? 제발 이걸 구현하는 데 최악의 방법은 아닐까요? – user2802841