[发明专利]计算机操作系统事件同步对象扩展的数据处理方法有效
申请号: | 200610024656.2 | 申请日: | 2006-03-14 |
公开(公告)号: | CN1838079A | 公开(公告)日: | 2006-09-27 |
发明(设计)人: | 苏翼鹏;王晨辉 | 申请(专利权)人: | 上海科泰世纪科技有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 北京同立钧成知识产权代理有限公司 | 代理人: | 刘芳 |
地址: | 210203上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种计算机操作系统事件同步对象扩展的数据处理方法,扩展了事件同步对象的传统语义,使其拥有多个不同的已通知状态,同时也扩展了事件同步对象的基本操作方法的接口定义。本发明允许当事件发生时,线程能够通过事件同步对象告知等待在其上的线程更详细的情况,从而显著提高事件同步对象本身的通讯能力,使其可以满足更广泛的应用需求。 | ||
搜索关键词: | 计算机 操作系统 事件 同步 对象 扩展 数据处理 方法 | ||
【主权项】:
1、一种计算机操作系统事件同步对象扩展的数据处理方法,包括设置事件操作方法以及等待事件操作方法,其中,所述设置事件操作方法执行以下步骤:步骤11、判断当前事件同步对象是否为手工重置的事件同步对象,是,则将所述事件同步对象的当前状态值设置为调用传入的已通知状态值;否则,执行步骤14;步骤12、判断是否有线程阻塞在所述事件同步对象上,是,则在所述线程的线程结构体的m_dwEventState数据项中记录调用传入的已通知状态值;否则,执行步骤16;步骤13、从所述事件同步对象的等待队列中取下所述线程并唤醒所述线程,执行步骤12;步骤14、如果有线程阻塞在所述事件同步对象上,则对于阻塞在所述事件同步对象上的第一个线程,在其线程结构体中的m_dwEventState数据项中记录下调用传入的已通知状态值;否则,将所述事件同步对象的当前状态值设置为调用传入的已通知状态值,执行步骤16;步骤15、从所述事件同步对象的等待队列中取下所述线程并唤醒所述线程;步骤16、结束设置事件的操作;所述等待事件的操作方法执行以下步骤:步骤21、判断当前事件同步对象是不是手工重置的事件同步对象,不是,则将所述事件同步对象设置为未通知状态;否则,执行步骤24;步骤22、判断在将所述事件同步对象设置为未通知状态前,所述事件同步对象是否处于未通知状态,是,则在所述事件同步对象上阻塞;否则,执行步骤26;步骤23、从当前线程所对应的线程结构体的m_dwEventState数据项中获取所述线程被唤醒时事件同步对象的已通知状态值,并将所述已通知状态值写入由用户指定的输出参数中,执行步骤27;步骤24、判断所述事件同步对象上是否处于未通知状态,是,则在所述事件同步对象上阻塞;否则,执行步骤26;步骤25、从当前线程所对应的线程结构体的m_dwEventState数据项中获取被唤醒时所述事件同步对象的已通知状态值,并将所述已通知状态值写入由用户指定的输出参数中,执行步骤27;步骤26、将所述事件同步对象的当前状态值写入由用户指定的输出参数中;步骤27、结束等待事件的操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海科泰世纪科技有限公司,未经上海科泰世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200610024656.2/,转载请声明来源钻瓜专利网。