高并发可以不加锁吗

最近遇到别人问的一个问题,如下:
    高并发下修改商品库存,加锁会导致性能问题,怎样实现在不加锁的情况下实现高性能修改库存?


我的答案:
1、一般对于并发处理都需要加锁,否则会导致共享变量不可见问题,尽量将锁的力度变小
2、如果确认不能或不想加锁,则做串行化处理,我给的解决方案是消息队列
3、http://www.zhihu.com/question/36560619 这里有说单生产者和单消费者 的队列是可以做到真正无锁,看不懂
  这篇文章也说了做串行化处理,消息队列的线程不做IO操作,而是单独开线程从消息队列取数据进行IO操作


结论:
问我问题的人说已经找到了不加锁,不用消息队列解决问题的方法,但是不告诉我。。。




posted @ 2016-08-19 18:06    阅读(1493)  评论(0编辑  收藏  举报