我有一個線程,其任務是發送消息到UDP對等體。如果滿足以下條件之一,則線程發送消息:等待時間通過,而不忙在C窗口等待
1)自上次發送消息(例如超時)以來已過去了一段時間。
2)共享結構中的更新布爾標誌已被其他線程引發。
我希望能夠等待這些情況發生,所以我會知道何時發送消息。
我可以做到的最簡單的方法是製作一個循環,直到其中一個條件滿足爲止。我擔心它正在忙着等待,並且會耗費大量的CPU時間。我也不想使用sleep()。
只要易於理解和實現,我不介意使用C++解決方案,因爲我對C++不是很熟悉。
謝謝!
,是以第2條件的照顧,我會與事件替換它。對於第一種情況,我如何等待時間通過窗口? – Michael 2011-04-19 12:56:27
@michael:用WaitForSingleObject - 傳遞幾毫秒。當*事件被髮信號或等待超時時它會返回。 – Erik 2011-04-19 12:57:03
我看到了,沒有意識到這一點。正是我需要的,謝謝你! – Michael 2011-04-19 13:00:49