对象锁的同步和异步问题
来源:互联网 发布:环信java服务器端搭建 编辑:程序博客网 时间:2024/05/17 05:18
/**
* 对象锁的同步和异步问题
* @author alienware
*
*/
public class MyObject {
public synchronized void method1(){
try {
System.out.println(Thread.currentThread().getName());
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/** synchronized */
public void method2(){
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
final MyObject mo = new MyObject();
/**
* 分析:
* t1线程先持有object对象的Lock锁,t2线程可以以异步的方式调用对象中的非synchronized修饰的方法
* t1线程先持有object对象的Lock锁,t2线程如果在这个时候调用对象中的同步(synchronized)方法则需等待,也就是同步
*/
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
mo.method1();
}
},"t1");
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
mo.method2();
}
},"t2");
t1.start();
t2.start();
}
}
* 对象锁的同步和异步问题
* @author alienware
*
*/
public class MyObject {
public synchronized void method1(){
try {
System.out.println(Thread.currentThread().getName());
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/** synchronized */
public void method2(){
System.out.println(Thread.currentThread().getName());
}
public static void main(String[] args) {
final MyObject mo = new MyObject();
/**
* 分析:
* t1线程先持有object对象的Lock锁,t2线程可以以异步的方式调用对象中的非synchronized修饰的方法
* t1线程先持有object对象的Lock锁,t2线程如果在这个时候调用对象中的同步(synchronized)方法则需等待,也就是同步
*/
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
mo.method1();
}
},"t1");
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
mo.method2();
}
},"t2");
t1.start();
t2.start();
}
}
阅读全文
0 0
- 对象锁的同步和异步问题
- synchronized对象锁的同步和异步问题
- 对象锁的同步和异步
- 线程-对象锁的同步和异步
- 1.3 对象锁的同步和异步
- 【Java多线程】对象锁的同步和异步
- Java并发编程---对象锁的同步和异步
- 关于DWR的同步和异步问题!
- ajax的同步和异步问题
- 对象锁的同步与异步
- 问题--关于同步和异步
- ajax同步和异步问题
- java线程安全篇之synchronized对象锁的同步和异步(三)
- js的ajax的异步和同步请求的问题
- dispatch_get_main_queue的异步同步问题
- NSNotificationCenter同步异步的问题
- 关于JQUERY里的AJAX缓存和同步异步问题
- C# 串口通讯的数据丢失和同步异步问题
- 《深入分析Java Web技术内幕》—第9章Servlet 工作原理解析
- mapperLocations属性通配符的使用
- maven报错The import XXX cannot be resolved
- 安装ubuntu之后怎样使用root登陆
- opencv学习中——VS2013中的MFC
- 对象锁的同步和异步问题
- Spark RDD(Resilient Distributed Datasets)论文 | ApacheCN
- PullToRefreshListView 的简单实现
- Mongodb 远程备份数据
- Java Thread 总结
- 微服务场景下的自动化测试
- freemarker常用标签简介(简单就足…
- Xgboost原理及使用
- SpringMvc 图片上传功能