2016-09-25 53 views
0

我正在写一个web服务器,我希望能够很好地工作,无论它运行在哪个操作系统上。我一直在使用相同的执行风格作为Does C# AsyncCallback creates a new thread?在非Windows平台上使用mono时,AsyncCallback是否良好?

我一直在寻找信息是否这是一个很好的实现,或者如果我应该去一个线程池。提问者对上述问题的选择似乎表示,使用AsyncCallback处理请求是一种非常好的方法,我应该使用它而不是使用线程池。

但我想知道,如果这是真的任何操作系统,或者如果它只适用于Windows?

回答

1

我一直在寻找有关这是一个很好的实现或如果我应该去一个线程池的信息。提问者的选择回答上面的问题似乎是说,使用的AsyncCallback来处理请求是一个很好的办法

事实上是,Async-Await有道理在这种情况下,它的设计基于IO调用,远程调用,除了向调用者发送请求到远程主机之外,所以线程池线程在等待调用返回时仍然是一个极大的浪费,同时还要坚持重要的资源。事实上,Async-Await将有助于使系统更具可扩展性,因为调用在基于IO完成端口的硬件(设备驱动程序)上排队。

但我想知道,如果这是真的任何操作系统,或者如果它只适用于Windows?

当你要使用它Mono (Linux),如果功能被曝光,那么势必相同的方式工作预期在Windows,虽然兼容性问题here。如上所述,添加我的观点,因为这是一个纯粹基于硬件的功能,在Linux和其他Operating systems的情况下,在Windows的相同行上实施,因此它非常肯定它能够以相同的角度工作,虽然内部实现,API调用和优化肯定会有所不同,但对于最终用户来说,使用它的经验不会改变

相关问题