一个设计上的思考

需求:A程序要求不能阻塞,低延迟。同时,有一个需求是从A程序得到的数据  ,写文件或者数据库。

写文件这个消费者必然消费的远慢于A程序,这里是把写文件  用来做线程还是进程。

线程的话,用无锁队列需要多个消费者线程,多个队列。如果有锁的队列的话,必然影响A程序(如果消费者使用锁,生产者便不能往有锁队列放数据)

 

所以,用进程的话 相对好点。两个程序之间,用共享内存通信,同时也能较大程度保证数据不丢失。

而A程序同样需要另外的线程 把数据放进共享内存

posted @ 2022-02-11 16:28  caopf  阅读(24)  评论(0编辑  收藏  举报