Chr*_*ris 6 .net remoting multithreading
我有一个具有以下基本架构的应用程序:
一种Windows服务(服务),用于注册.NET类型(RemoteObject)以进行远程访问(.NET Remoting).RemoteObject创建使用ThreadPool进行IO处理的非ThreadPool线程.由于特定原因,必须将ThreadPool的大小限制为限制.GUI应用程序使用.NET Remoting来访问RemoteObject.
我注意到如果ThreadPool的大小太小,GUI应用程序将在调用RemoteObject时挂起.
我的问题是,我怎么能弄清楚为什么会挂起,为什么RemoteObject线程会受到ThreadPool的影响?
这真让我抓狂; 谢谢您的帮助!
事实证明,.NET 远程处理基础结构使用 .NET ThreadPool(或共享底层资源),因此如果您的应用程序正在使用所有 ThreadPool 线程,则远程调用可能会挂起。