在Linux上模拟实现Windows多对象同步等待机制的方法
摘要:
本发明是一种在Linux上模拟实现Windows多对象同步等待机制的方法,建立三个集合来管理不同状态下的线程,有线程进入或解除等待状态时,管理waiting集合,当对象的状态发生改变时,管理signaled集合,当线程等待需求被满足时,管理result集合;同时,本方法为每个线程建立一个APC队列文件,某对象在发送APC前,先获得全局信号量,再向目标线程的APC队列文件中写入相关异步调用函数。线程执行APC时,需获得全局信号量,然后从APC队列文件中读取并执行异步调用函数。本发明方法简单有效,很好地解决了Linux上由于异步调用可能发生在线程执行过程中的任意部分而导致的安全问题。
0/0