条件变量-轻松实现高速串行io--fpga应用设计者指南

时间:2024-06-29 04:49:07
【文件属性】:

文件名称:条件变量-轻松实现高速串行io--fpga应用设计者指南

文件大小:3.09MB

文件格式:PDF

更新时间:2024-06-29 04:49:07

UNIX 系统 内幕 pdf

7.7 条件变量 条件变量是一个与某些共享数据的谓词 predicate 相关的更复杂的机制,(结果为 TRUE 和 FALSE 的逻辑表达式),它允许线程因其阻塞,并在谓词结果改变时,提供唤醒一个或全部 线程的手段,相对于等待资源锁定,它更适合于等待事件。 例如,考虑一个或多个服务器线程等待客户请求。进来的请求被传递给等待线程或当没 有服务的线程时放入队列中,当有服务器线程准备处理下一个请求时,它首先检查队列。若 其中有挂起的消息,线程从队列中取出它,并为其服务。若队列为空,线程阻塞直到有请求 到达。这可以通过将一条件变量同队列相关联实现。共享数据是消息队列本身,谓词是队列 为非空。 条件变量与睡眠通道相似,因为线程阻塞于条件上而进来的消息唤醒它们。然而,在多


网友评论