发明公开
- 专利标题: 在Linux上模拟实现Windows多对象同步等待机制的方法
- 专利标题(英): Method for realizing Windows multi-object synchronous waiting mechanism on Linux by imitating
-
申请号: CN201310003744.4申请日: 2013-01-06
-
公开(公告)号: CN103077031A公开(公告)日: 2013-05-01
- 发明人: 李睿 , 杨南君 , 吕江花 , 马世龙
- 申请人: 北京航空航天大学
- 申请人地址: 北京市海淀区学院路37号
- 专利权人: 北京航空航天大学
- 当前专利权人: 北京航空航天大学
- 当前专利权人地址: 北京市海淀区学院路37号
- 代理机构: 北京永创新实专利事务所
- 代理商 周长琪
- 主分类号: G06F9/44
- IPC分类号: G06F9/44
摘要:
本发明是一种在Linux上模拟实现Windows多对象同步等待机制的方法,建立三个集合来管理不同状态下的线程,有线程进入或解除等待状态时,管理waiting集合,当对象的状态发生改变时,管理signaled集合,当线程等待需求被满足时,管理result集合;同时,本方法为每个线程建立一个APC队列文件,某对象在发送APC前,先获得全局信号量,再向目标线程的APC队列文件中写入相关异步调用函数。线程执行APC时,需获得全局信号量,然后从APC队列文件中读取并执行异步调用函数。本发明方法简单有效,很好地解决了Linux上由于异步调用可能发生在线程执行过程中的任意部分而导致的安全问题。
公开/授权文献
- CN103077031B 在Linux上模拟实现Windows多对象同步等待机制的方法 公开/授权日:2016-03-02