线程池和数据关联
Thread pool and data affinity
我正在设计一个OMS,并尝试使用多线程技术来加快处理速度。
一个简单的方法是静态地分配线程:一个线程用于所有以字母开头的证券。显然,他们中的一些人可能很忙,而另一些人则无事可做。而且我们也不知道用户会进入什么股票。
所以我转向线程池。现在,时间可能会在线程之间更均匀地分配。但是有一个开销需要处理:我必须锁定每个订单,这当然是不愉快的。
关于如何最小化锁定时间和实现更高的吞吐量的任何想法?
谢谢你的建议。
p。这是一个Unix环境。使用的语言是c++
一般来说,每个任务一个线程是非常糟糕的决定。最好的方法是将任务分成具有自己线程池的逻辑组(或者每个任务一个线程)。此外,您还应该组织任务之间的通信,例如通过查询。您是否正在寻找现有的线程池实现,如threadpool?
相关文章:
- 防止主数据类型C++的隐式转换
- 用于访问容器<T>数据成员的正确 API
- 嵌套在类中时无法设置成员数据
- 使用流处理接收到的数据
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在cuda线程之间共享大量常量数据
- 访问与使用 TraceLoggingWrite 提供的事件关联的用户数据
- 将指针与其他数据相关联
- 如何对包含通过索引相互关联的数据的多个数组进行排序
- 什么是用于对数据进行分组的最佳关联容器
- 在C++中,是否有一种将元数据与函数关联起来的整洁方法
- 在recv/WSARecv钩子中,将数据与windows中的SOCKET关联的最佳方法
- 线程池和数据关联
- 知道何时从 std::map<void *, ...中删除关联的用户数据>
- 如何将数据(字符串、整数或枚举成员)与Gtk::ComboBoxText项关联?
- 将互斥锁与其数据相关联的正确方法是什么?
- 该STL容器用于相互关联的数据
- 实现一个倾斜关联数据缓存c++
- 应该如何设计两个紧密关联的数据结构的所有权