zoukankan
html css js c++ java
高并发可以不加锁吗
最近遇到别人问的一个问题,如下:
高并发下修改商品库存,加锁会导致性能问题,怎样实现在不加锁的情况下实现高性能修改库存?
我的答案:
1、一般对于并发处理都需要加锁,否则会导致共享变量不可见问题,尽量将锁的力度变小
2、如果确认不能或不想加锁,则做串行化处理,我给的解决方案是消息队列
3、
http://www.zhihu.com/question/36560619
这
里有说
单生产者和单消费者 的队列是可以做到真正无锁,看不懂
4、
http://zhidao.baidu.com/link?url=qDk1lJax-3v08Bng7Ignf8Zk4gVwUAr0118lzm3lRqTiaBpbe5j5x6f9V8yBpoq5zulHudZb7X3pRs8X51Xxlz80VrgskxMaTjyGklUmZ2e
这篇文章也说了做串行化处理,消息队列的线程不做IO操作,而是单独开线程从消息队列取数据进行IO操作
结论:
问我问题的人说已经找到了不加锁,不用消息队列解决问题的方法,但是不告诉我。。。
来自为知笔记(Wiz)
查看全文
相关阅读:
[转贴]Linux内核LTS长期支持版生命周期
【转贴】Debian 10 "buster" 正式发布
[百度经验]重置组策略的方法
【转贴】我对测试工作的一些认识
【转贴】使用sar进行性能分析
【转贴】龙芯内核发展策略 已经支持k8s
【转贴】优秀的龙芯Docker虚拟机解决方案
Windows 2016 安装单机版本Oracle ASM 的简单说明
【转贴】中标麒麟操作系统(龙芯版)与360安全浏览器完成产品兼容性互认证测试
AQTime教程
原文地址:https://www.cnblogs.com/gossip/p/5788623.html
最新文章
Performance Tuning guide 翻译 || Performance Tuning Guide 11G中新增特性
log4j:ERROR Could not find value for key log4j.appender.error
[计算机网络] vsftpd的安装与使用
【组队赛三】-C cf448B
HDU2276
正則表達式基本元字符集及其含义(上)
Jquery 实现动态加入table tr 和删除tr 以及checkbox的全选 和 获取加入TR删除TR后的数据
Linux chmod命令具体解释
i hate it 线段树
Android图像篇
热门文章
Es61
jquery2.0.3 全部源码
jquery源码12 offset() : 位置和尺寸的方法
jquery11源码 animate() : 运动的方法
jquery20--animate() : 运动的方法
jquery源码10-提交的数据和ajax()
jquery19 ajax()
jquery源码09 (6058 , 6620) css() : 样式的操作
jquery18 css() : 样式的操作
jQuery08源码 (5140 , 6057) DOM操作 : 添加 删除 获取 包装 DOM筛选
Copyright © 2011-2022 走看看