说明:
1)
读写的数据结构包含:持仓、盈亏 2部分
虽然浮动盈亏这块没有更新持仓,仅更新了盈亏,但写入时又把读出来的原持仓写回去了
成交读取pb持仓
浮动盈亏读取pb盈亏
处理持仓
处理盈亏
写入pb持仓
写入pb盈亏
所以,读取和写入的内容粒度应细,这也关系到排他锁的粒度
这里如果将持仓与盈亏分开存储,即使无锁,也不存在并发事故
2)不应在单线程的disruptor消费者中做任何阻塞
https://www.cnblogs.com/silyvin/p/10076003.html
3)只锁了user级别,但却在被锁代码块中操作team的内容,如果同一个team的两个user同时触发,会有并发问题