高并发可以不加锁吗
最近遇到别人问的一个问题,如下:
高并发下修改商品库存,加锁会导致性能问题,怎样实现在不加锁的情况下实现高性能修改库存?
我的答案:
1、一般对于并发处理都需要加锁,否则会导致共享变量不可见问题,尽量将锁的力度变小
2、如果确认不能或不想加锁,则做串行化处理,我给的解决方案是消息队列
这篇文章也说了做串行化处理,消息队列的线程不做IO操作,而是单独开线程从消息队列取数据进行IO操作
结论:
问我问题的人说已经找到了不加锁,不用消息队列解决问题的方法,但是不告诉我。。。