2014-01-29 54 views
1

我是新手。我需要在C中實現一個計時器線程。在超時時,它必須轉到另一個線程/函數來執行一些活動。任何人都可以幫我用SIGALRM來實現它嗎?如果有人可以在這裏留下一些例子,那會很好。使用SIGALRM的c中的定時器線程

+1

歡迎來到Stack Overflow!看起來你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。證明這一努力的一個好方法是包含迄今爲止編寫的代碼,示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論是適用)。您提供的細節越多,您可能收到的答案就越多。 – kkuilla

+0

請參閱'pthread_sigmask()':http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_sigmask.html和'setitimer()':http://pubs.opengroup.org/onlinepubs/9699919799/functions /getitimer.html – alk

+0

@kkuilla我不需要你爲我編碼..我只希望有人告訴我是否有辦法做到這一點。如果是的話,那是如何工作的。感謝您的意見。我會記住任何進一步的討論。 –

回答

0

signal(SIGALRM, TR69_DM_SignalHandler); alarm(PassedFromCaller->TimeOut); pause();

,我發現這個工作。但爲t這裏有什麼辦法可以避免暫停聲明? 我想讓我的線程繼續其工作。我應該在另一個線程中單獨發出警報嗎?