【发布时间】:2013-07-10 21:02:17
【问题描述】:
我有一个带有许多线程的 boost asio 应用程序,类似于 Web 服务器,可以处理数百个并发请求。每个请求都需要调用 memcached 和 redis(分别通过 libmemcached 和 redispp)。在这种情况下,最好的做法是从每个线程分别连接到 redis 和 memcached(有效地将服务器上打开的套接字增加三倍,每个请求三个)?或者有没有办法让我使用单个 memcached/redis 连接构建一个静态对象,并允许所有线程共享该单个连接?当谈到这样的线程安全时,我有点困惑,线程之间的一切都需要异步,但是阻塞每个线程的单独请求(所以每个线程都有一个线性进程,但是很多线程可以在在任何给定时间在他们自己的进程中的不同位置)。这有意义吗?
非常感谢!
【问题讨论】:
标签: c++ sockets boost boost-asio libmemcached