0
我有一個使用不同線程進行不同類型作業的進程。避免在這種情況下忙於等待
一個這樣的線程必須以非阻塞的方式發送推送通知(所以我將使用libcurl,因爲多接口和SSL支持)。主線程必須將作業傳遞給worker,並且考慮使用apache apr消息隊列來傳遞消息。因爲在同一個線程,我必須檢查傳入的消息和捲曲的可用性處理我想我會用這樣的:
while (1)
{
while (apr_queue_try_pop(queue, &msg) == APR_SUCCESS)
{
// do something with the message
}
// perform a select or poll in the curl multi handle
// treat the handles that are available for reads/writes
}
在線程啓動功能。
這是一種忙碌的等待,有沒有更好的解決方案?
使用C99和Linux x86_64。