synchronized修饰方法,保证数据同步准确性,限制线程互斥访问
2015-02-06 18:22
609 查看
1.未加synchronized关键,造成访问顺序混乱
运行结果:
2. 添加synchronized进行互斥访问可以解决数据不同步的问题
运行结果:
总结:使用了synchronized可以使一个线程运行完synchronized所修饰的方法,其他需要排队等候,可以保证数据的准确性。
package thread; /** * @author xiaolong.zhu.baby@qq.com created on 2015/2/6. */ public class Test extends Thread { public void jump() { for (int i = 0; i < 100; i++) { if(i%10==0) System.out.println(); System.out.print(" "+this.currentThread().getName() + ":" + i + "\t"+" "); } } @Override public void run() { jump(); } public static void main(String[] args) { Test test = new Test(); Thread a = new Thread(test, "A"); Thread b = new Thread(test, "B"); a.start(); b.start(); } }
运行结果:
2. 添加synchronized进行互斥访问可以解决数据不同步的问题
package thread; /** * @author xiaolong.zhu.baby@qq.com created on 2015/2/6. */ public class Test extends Thread { public synchronized void jump() { for (int i = 0; i < 100; i++) { if(i%10==0) System.out.println(); System.out.print(" "+this.currentThread().getName() + ":" + i + "\t"+" "); } } @Override public void run() { jump(); } public static void main(String[] args) { Test test = new Test(); Thread a = new Thread(test, "A"); Thread b = new Thread(test, "B"); a.start(); b.start(); } }
运行结果:
总结:使用了synchronized可以使一个线程运行完synchronized所修饰的方法,其他需要排队等候,可以保证数据的准确性。
相关文章推荐
- 多线程数据同步之synchronized同步方法-多线程访问临界资源
- synchronized关键字修饰对象锁,同步与非同步对该方法的访问及修改
- OPC的数据访问方法分别有同步访问、异步访问和订阅式数据采集方式------OPC(第一篇)
- 【JAVA】多线程之synchronized 同步数据 方法
- Java中synchronized关键字修饰方法同步的用法详解
- 第二章、对象及变量的并发访问 之 synchronized 同步方法(2)
- 同时创建多个线程,它们都访问一个对象中的同步方法,怎么确保第一个线程最先拿到对象锁,否则,怎么保证多个线程之间的有序通信
- 使用synchronized来保证数据的同步
- java 多线程10:synchronized锁机制 之 锁定类静态方法 和锁定类.Class 和 数据String的常量池特性 同步静态方法
- 牛客网Java刷题知识点之同步方法和同步代码块的区别(用synchronized关键字修饰)
- synchronized修饰的同步方法的个人理解
- OPC的数据访问方法分别有同步访问、异步访问和订阅式
- JAVA 同步之 synchronized 修饰方法
- java多线程之-----对象及变量的并发访问1(synchronized同步方法)
- 第二章、对象及变量的并发访问 之 synchronized 同步方法(1)
- 关于java synchronized修饰方法时实现线程互斥遇到的问题
- Java中一个类里面有两个用synchronized修饰的非静态方法,不同的线程中的实例访问这两个方法时会发生什么?
- Java使用synchronized修饰方法来同步线程的实例演示
- 线程系列07,使用lock语句块或Interlocked类型方法保证自增变量的数据同步
- OPC的数据访问方法分别有同步访问、异步访问和订阅式