高并发可以不加锁吗

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


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


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


来自为知笔记(Wiz)


你可能感兴趣的:(高并发可以不加锁吗)