前一段时间,我已经花钱给程序员做多线程服务器。同时,我学到了一些C#,现在我认为我可以看到速度下降的问题-那个家伙告诉我,主线程(Form)上没有任何处理,因此无法冻结。
但是我认为尽管BeginAcceptSocket是异步操作,但是其回调在主线程上运行,如果存在锁定,这就是应用程序冻结的原因。我对吗?
谢谢
this.mTcpListener.BeginAcceptSocket(this.AcceptClient, null);
protected void AcceptClient(IAsyncResult ar)
{
//some locking stuff
}
最佳答案
不,AcceptClient()
将而不是在主线程上运行。
更好地显示一些“锁定的东西”。