1.线程池,共享线程安全队列
例子:osmium thread 模块
thread_safe_queue<task> =>work thread1 =>
... thread_safe_queue<result>
=>work thread n =>
2.使用双buffer无锁化
例子:http://blog.guoyb.com/2018/03/17/double-buffer/
3.使用流水线方式
例子:《深入理解计算机系统4.4节》处理器流水线
4.CSP(Communicating Sequential Processe), 通过channel传递消息共享变量
例子:《C++并发编程实践》第四章最后 和附录C ATM例子
go 语言
5.actor model
例子:erlong