我正在设计OMS并尝试使用多线程技术来加速处理。
一种简单的方法是静态分配线程:所有以字母开头的证券的一个线程。显然,其中一些人可能非常忙碌,而其他人则无所事事。我们事先并不知道用户会进入哪些股票。
所以我转向线程池。现在时间很可能在线程之间更均匀地分布。但是需要处理一些开销:我必须锁定每个订单,这肯定是不愉快的。
关于如何最小化锁定时间和实现更高吞吐量的任何想法?
非常感谢您的建议。
P.S,它是Unix环境。使用的语言是C ++
答案 0 :(得分:0)
通常,每个任务的线程决定很糟糕。最好的方法是将任务分成具有自己的线程池的逻辑组(或者,每个任务可以有1个线程)。您还应该组织任务之间的通信,例如通过查询。 您是否正在寻找抛出现有的线程池实现,如threadpool?