导读大家好,我是极客范的本期栏目编辑小友,现在为大家讲解linux驱动同步与互斥问题。更新嵌入式linux中文站技术文档:事件等待队列一般用于li
音频解说
大家好,我是极客范的本期栏目编辑小友,现在为大家讲解linux驱动同步与互斥问题。
更新嵌入式linux中文站技术文档:
事件等待队列一般用于linux驱动的异步通信,也可以称为申请设备使用权的等待队列。当多个进程操作一个设备时,通常会在此时使用事件队列。
1、不间断睡眠:
wait_event(队列,条件)
wait _ event _断续(队列,条件)
这两个函数只有在condiTIon变为true时才能唤醒,否则会一直休眠,即使调用了wake_up()也无法唤醒。
2.睡眠可以被打断。
wait_event_timeout(队列、条件、超时)
wait _ event _可中断_超时(队列、条件、超时)
当条件为真或调用wake _ up _中断()时,这两个函数都可以被唤醒。
3.唤醒功能:
void wake _ up(wait _ queue _ head _ t * queue);//唤醒所有人。
void wake _ up _可中断(wait _ queue _ head _ t * queue);//唤醒可中断