我通過sys/time.h中的setitimer函數在我的C++代碼中使用了一個定時器。這將SIGALRM信號映射到我的定時器處理程序方法。在此之後,我無法使用睡眠功能。我假設這是因爲睡眠也使用SIGALRM信號。你能提出解決這個問題的辦法嗎?通過setitimer使用定時器時使用Sleep()
感謝您的回覆。
我通過sys/time.h中的setitimer函數在我的C++代碼中使用了一個定時器。這將SIGALRM信號映射到我的定時器處理程序方法。在此之後,我無法使用睡眠功能。我假設這是因爲睡眠也使用SIGALRM信號。你能提出解決這個問題的辦法嗎?通過setitimer使用定時器時使用Sleep()
感謝您的回覆。
我會使用一個庫,提供這些OS服務的抽象。我使用ACE庫定時器和睡眠(ACE_OS::sleep
,ACE_Reactor::schedule_timeout
),他們一起工作沒有任何問題。據我所知ACE的定時器使用select
。我猜boost::thread::sleep和boost::asio::deadline_timer也會成功完成任務。
+1我相信我遲早會遇到這個問題。 – FireAphis 2010-09-05 04:54:22