[英]Workqueues using pthread
在Linux内核中,工作队列对于安排任务的异步执行很有用。 用伪代码
while(condition) {
read data
add to linked list
schedule_work(&write_data)
}
调度函数write_data的异步执行,其中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实现此目的?
我做了以下适合自己目的的事情:
write_data_thread() {
wait for flag
write data if flag is set
reset flag
sleep
}
while(condition) {
read data
add to linked list
set flag
}
我需要使用互斥锁来控制对该标志的访问。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.