我知道网络编程可能是一个很大的陷阱。处理套接字有同步/异步两种方式。
现在我有一个应用程序,它通过同步套接字send/recv到服务器使用了很多线程。我认为这是一种非常低效的编写网络应用程序的方式。我的问题是,有没有透明的(通过预加载)网络加速库,可以神奇地用更现代的epoll/异步方式取代遗留应用程序中的线程/同步模型?就像tcmalloc对malloc所做的那样?
谢谢!
==================
好吧,一个简短的调查似乎给出了一个否定的答案。然后我将编写我自己的加速库。祝我好运。
发布于 2014-12-05 14:57:17
线程通常使用阻塞模型(即等待数据就绪),而epoll/async使用非阻塞事件驱动模型。虽然将非阻塞代码封装到使用阻塞模型开发的应用程序中相当容易,但情况并非如此。要从阻塞模型转移到基于事件的非阻塞模型,您必须重新思考和重写应用程序。
https://stackoverflow.com/questions/27309707
复制相似问题