1
在Linux內核中,工作隊列對於調度任務的異步執行很有用。在僞代碼,使用pthread的工作隊列
while(condition) {
read data
add to linked list
schedule_work(&write_data)
}
調度功能寫入數據,其中寫入數據做如下的異步執行:
write_data() {
write data from first node of linked list
link to next node
free first node
}
在用戶空間,我想達到同樣的事情。然而pthread似乎有點不同,讓我感到困惑。我想要做到以下幾點:
while(condition) {
read data
add to linked list
schedule writing of data
}
我想寫入數據是異步的。我如何使用pthread實現這一點?
在用戶級別,唯一的調度機制是進程和線程。 pthreads沒有工作隊列的概念。但是有一些機制可以實現這一點。一些選項:消息隊列(man mq_overview)和pthread_cond_wait – kaylum 2015-03-30 22:12:10