我写了一个非常不同步的应用程序.
我正在寻找一种排队方法调用的方法,类似于BeginInvoke/EndInvoke所做的....但是在我的OWN队列上.reaqson是我使用线程池拥有自己的优化消息排队系统,但同时确保每个组件在请求中都是单线程的(即一个线程只处理组件的消息).
我有很多消息来回传递.对于有限的使用,我真的很想能够只使用参数对消息调用进行排队,而不是必须定义我自己的参数,方法包装/解包只是为了进行大量的管理调用.我也不总是想绕过队列,我绝对不希望发送服务等待其他服务响应.
有人知道拦截方法调用的方法吗?为此利用TransparentProxy/Virtual Proxy的一些方法?;)ServicedComponent?我希望这个开销尽可能小;)
Pz.*_*Pz. 13
如何使用lambdas?
我的意思是,你为什么不创建一些队列,并以类似的方式处理它们
while (!queue.Empty)
{
Action action = queue.Pop();
action(); // this calls your action
}
Run Code Online (Sandbox Code Playgroud)
您可以非常简单地添加操作:
Queue.Add( ()=>{ /* any code you wish here */})
Run Code Online (Sandbox Code Playgroud)
这只是一个提示,我不确定是否有一些Queue类,但是自己创建一个(和线程安全!)应该非常简单.
解决方法可以(而且应该)更明智,但重点是存在.如果您想咨询,请写信给我.
Pz,TaskConnect开发人员