多线程执行父类和子类中的同步方法的结论
来源:互联网 发布:网络配置出现问题 编辑:程序博客网 时间:2024/06/05 20:04
结论:
父类和子类中分别有一个同步方法(没有重写),然后开启两个线程分别执行其中一个同步方法,最终结果是串行。结论:父类和子类中的同步方法是同一个锁。测试代码如下:
public class SynParent {
public synchronized void synParent(){
try {
Thread.sleep(1000);
}catch (InterruptedException e){
e.printStackTrace();
}
System.out.printf("父类同步方法输出---------->结束时间:"+System.currentTimeMillis()+"\n");
}
}
SynChild.java
public class SynChild extends SynParent{
public synchronized void synChild(){
try {
Thread.sleep(2000);
}catch (InterruptedException e){
e.printStackTrace();
}
System.out.printf("子类同步方法输出---------->结束时间:"+System.currentTimeMillis()+"\n");
}
}
SynParentAndChildTest.java
public class SynParentAndChildTest extends Thread{
SynChild synChild;
int index;
public SynParentAndChildTest(SynChild synChild,int index) {
this.synChild = synChild;
this.index = index;
}
@Override
public void run() {
super.run();
if (0 == index){
System.out.printf("开始执行父类方法------>时间:"+System.currentTimeMillis()+"\n");
synChild.synParent();
}else {
System.out.printf("开始执行子类方法------>时间:"+System.currentTimeMillis()+"\n");
synChild.synChild();
}
}
}
main:
private static void synParentAndChildTest(){
SynChild synChild = new SynChild();
for (int i = 0; i < 2; i++){
SynParentAndChildTest synParentAndChildTest = new SynParentAndChildTest(synChild,i);
synParentAndChildTest.start();
}
}
结果:
0 1
- 多线程执行父类和子类中的同步方法的结论
- 子类和父类构造方法的执行先后问题
- C++子类执行父类的方法
- java中 静态成员、实例成员、构造方法在子类和父类中的执行顺序
- js中的子类继承父类的方法和属性
- 子类和父类的 static块 和 构造方法 构造块 的执行顺序
- Java中子类和父类相关方法的执行顺序
- 子类、父类各种方法的执行顺序
- 子类、父类各种方法的执行顺序
- Static方法,与子类父类的执行顺序
- 项目中遇到的子类父类方法执行顺序
- 子类、父类各种方法的执行顺序
- 父类子类中的执行顺序
- 父类和子类的构造方法
- 父类和子类的构造方法
- 子类extends父类方法执行顺序
- java子类和父类的执行顺序
- java多线程实现火车售票系统 以及java中的同步的实现 同步块 和同步方法同时 同步
- Error:FAILURE: Build failed with an exception. * What went wrong: Task 'generate_360DebugSources' n
- 友元函数
- swift3 删除main.storyboard之后(纯代码做项目)
- 跨平台远程框架Remoting SDK发布v9新版本,增加新的Code First服务器等功能
- 什么是高内聚、低耦合?
- 多线程执行父类和子类中的同步方法的结论
- Spark开发笔记(2017-05-04)
- mysql sql语句大全
- Android屏幕values-sw适配
- 实时监控系统
- Android项目中嵌套unity出现your hardware does not support this application,sorry!
- input required字段;django input输入框不填写会自动变红如何修改
- 关于图片加载框架Glide
- 类装载