synchronized同步块的同步性
来源:互联网 发布:php 文件管理插件 编辑:程序博客网 时间:2024/05/21 10:22
class ObjectService { public void serviceMethodA(){ try{ synchronized (this){ System.out.println("A begin time = " + System.currentTimeMillis()); Thread.sleep(2000); System.out.println("A end time = " + System.currentTimeMillis()); } }catch (InterruptedException e){ e.printStackTrace(); } } public void serviceMethodB(){ synchronized (this){ System.out.println("B begin time = " + System.currentTimeMillis() ); System.out.println("B end time = " + System.currentTimeMillis()); } }}class ThreadA extends Thread { private ObjectService service; public ThreadA(ObjectService service){ this.service = service; } @Override public void run() { service.serviceMethodA(); }}class ThreadB extends Thread { private ObjectService service; public ThreadB(ObjectService service){ this.service = service; } @Override public void run() { service.serviceMethodB(); }}public class Run { public static void main(String[] args) { ObjectService service = new ObjectService(); ThreadA a = new ThreadA(service); a.setName("a"); a.start(); ThreadB b = new ThreadB(service); b.setName("b"); b.start(); }}
结果:
A begin time = 1458139127424A end time = 1458139129425B begin time = 1458139129425B end time = 1458139129425
即时线程B想调用MethodB,但是因为线程A获取了对象锁,线程B只能等待
- 对其他synchronized同步方法或synchronized(this)同步代码块调用呈阻塞状态
- 同一时间只有一个线程可以执行synchronized同步方法或同步代码块中的代码
0 0
- synchronized同步块的同步性
- 【多线程】synchronized同步块
- Synchronized块同步变量
- synchronized同步语句块
- synchronized同步代码块
- synchronized同步代码块
- synchronized同步代码块
- synchronized同步语句块
- Synchronized块同步变量的误区
- Synchronized 同步方法和同步代码块
- 同步代码块。同步方法 synchronized
- 使用synchronized块同步方法..
- 使用Synchronized块同步方法
- 使用Synchronized块同步变量
- 使用Synchronized块同步方法
- 使用Synchronized块同步方法
- 使用Synchronized块同步变量
- JAVA 同步代码块synchronized
- 改进版的从文本文件读取数据
- iOS 的 XMPPFramework 简介
- 内存单位
- 进程、应用程序域、对象上下文
- leetcode 27:Remove Element
- synchronized同步块的同步性
- 云端IDE-orion-che
- Smarty引用头文件
- Linux设置ssh免密码登录
- C++ .csv文件处理 与 sstream应用
- css布局模型
- DFS BFS 路径记录的总结
- 算法课笔记系列(一)—— 分治算法
- 【POJ 1276】Cash Machine