multithreading - 我可以选择哪种线程模型?

标签 multithreading redis pthreads memcached threadpool

我正在编写一个类似于键值存储的系统,但不同的是,经常调用 get 和 set 操作。

在服务器端,我刚才使用“每个客户端一个线程”线程模型。但是在这个应用程序中,每个任务的客户端连接数都在一万左右,所以我使用的模型很慢。

在这种情况下我可以选择哪种线程模型?

谢谢

最佳答案

您可能应该包括额外的详细信息,说明为什么您看到系统如此缓慢。如果您使用互斥量,您是如何设计它们的?互斥量是否保护整个键值存储或它的一个子集。通常,将大表拆分为单独的小表(行)有助于事情变得更加并行。此外,您是否遇到了线程等待另一个线程的问题。如果是这样,您可能最好使用条件变量。

关于multithreading - 我可以选择哪种线程模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18179261/

相关文章:

c++ - 线程池,C++

java - 我需要同步对中断方法的调用吗?

java - 多线程从文件读取并执行runnable

java - redis 批量增量更新

redis - 在 Redis 中实现具有唯一元素的队列

postgresql - 如何与普通数据库进行负载平衡

linux - 进程和线程调度开销

android - android SyncAdapter 中的异步 Volley 调用

multithreading - 死锁和活锁有什么区别?

c - `pthread_t*` 的 `pthread_create` 参数需要存活多长时间?