请问如何实现两个进程间函数的异步调用?
请问如何实现两个进程间函数的异步调用? 问题点数:100、回复次数:2Top
1 楼blademan(不累得慢)回复于 2002-10-31 14:45:00 得分 0
对不起,可能没表达清楚。
我就是想实现调用者调用之后马上返回,被调用者继续实现被调用的功能,在完成之后再通知调用者。Top
2 楼stonespace(stonespace)回复于 2002-10-31 18:54:29 得分 100
进程函数调用,可能需要通过COM。
每次调用,调用者生成一个event对象,并且作为参数传给被调用者。
被调用者可以这样处理:每一个异步调用的参数打包,建立一个队列和一个线程,调用异步函数的时候,把参数打包,放入队列中,对这次调用生成一个唯一的标识id后立即返回。线程不停的取出队列中的参数包,进行处理,处理完成后,把传入的event对象SetEvent,并且把结构放在一个表中,等待被调用者来取。
调用者在合适的时机,Lock传入的event对象,等待异步调用完成,然后可以调用一个同步函数用id取出处理结果。
也可以不用event,调用者可以把一个窗口句柄发送给被调用者,处理完成后,被调用者用PostMessage通知调用者,使用约定的消息,包含id。
Top




