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)
查看全文
相关阅读:
iframe嵌入页面自适应目标页面的高度
pc端适配
页面之间传值,接数值
表单直传文件到七牛
前端一些小技巧
css3的一些知识点
禁止用户长按选中
修改Html的title值
判断时间是多久前
图片裁剪
原文地址:https://www.cnblogs.com/gossip/p/5788623.html
最新文章
21个开源项目强烈建议收藏
pip不是内部或外部命令解决方法
SpringBoot启动报端口已被占用--解决
牛客网NC15二叉树的层次遍历
阿里云OSS整合
如何设计优雅的后端接口
leetcode1637-两点之间不包括任何点的最宽垂直面积
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
使一个Button两个事件的处理方法
iOS中的 self,super,copy等关键字问题
热门文章
堆与栈的异同点
iOS UIView 详解
iOS TableView的详解
iOS的各种后台情况的实现
iOS 长按TableViewCell加长按快捷菜单
iOS TableView实现单选checkmark功能
很全的基础知识点-分享
iOS dispatch_async的用法
获取iframe中的元素
jQuery定位导航位置效果
Copyright © 2011-2022 走看看