java使用synchronized进行同步
来源:互联网 发布:专业调色软件app 编辑:程序博客网 时间:2024/06/06 16:56
java探讨 2017-04-10 04:32
提到同步就离不开多线程——即多线程抢占资源时要保证线程的安全。
简单例子:如有一个全局变量int sum=1,有两个(A、B)线程对其进行操作,他们获取该资源时都是sum=1,而A线程对其进行加1写回去变成sum=2,如我们希望的是B线程对其也进行加1的话为sum=3,但是因为B线程获取到时是sum=1,所以进行加1写回去也是sum=2。为了解决类似的问题,引入了锁的概念——即在一个线程操作时进行锁定,暂时不给别的资源操作直到其释放。
先看几个概念:
1、单机
(a) 实例级:一般是没有static的都为实例锁,或者写法为 synchronized(this) {}
(b) 类级:一般没有static的都为实例锁,或者写法为 synchronized(AAA.class) {}
2、分布式(多机)
当系统是分布式的架构时,单机的方法就不管用了,一般如下方案
(a) 使用数据库
(b) 使用redis缓存
(c) 使用zookeeper
3、例子:使用synchronized进行同步
解决方案:加入同步
前面我们是只有一个实例,如果是两个实例呢?
解决方案:加上类级锁
0 0
- java使用synchronized进行同步
- 如何使用java synchronized进行线程同步
- 使用synchronized进行Java线程同步
- 使用java中的 synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步 .
- 如何使用java synchronized进行线程同步 .
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- 如何使用java synchronized进行线程同步
- Java使用synchronized进行线程同步
- 【Java】如何使用java synchronized进行线程同步
- Modular Inverse
- Linux Shell脚本的10个有用的“面试问题和解答”
- nginx-多进程启动和通信
- mxnet系列教程2-cifar例子
- 日常(突然的睿智【不。。。是不正经)
- java使用synchronized进行同步
- UVA 536
- 网站上线前必做的30个检查
- 八大排序算法
- 二叉树的相关算法
- 简单易学的机器学习算法——Softmax Regression
- jvm内存区域复习
- RFS的web自动化验收测试——第1讲 菜单栏&工具栏
- 大数据开发例子