海康笔试问答题

代码如下,为什么是输出 call1  call2  call3。多次运行都是123,难道不应该是231或者123吗
public class ThreadLock {
public static void main(String[] args) {
ThreadLock test=new ThreadLock();
Runnable runnable=new Runnable() {
@Override
public void run() {
test.method2();
test.method3();

}
};
Thread thread1=new Thread(runnable);
thread1.start();
test.method1();
}
public synchronized void method1(){
try {
Thread.sleep(10000);
System.out.println("call method1");
}catch (Exception e){
e.printStackTrace();
}
}

public synchronized void method2(){

System.out.println("call method2");

}

public synchronized void method3(){

System.out.println("call method3");

}
}


#海康威视##笔试题目#
全部评论
面试竟然问我这一题
点赞 回复 分享
发布于 2018-09-15 15:05
我写了三种😳123,231,213
点赞 回复 分享
发布于 2018-09-09 00:13
为什么我记得method2和method3前面有static修饰呢,是我的错觉吗?
点赞 回复 分享
发布于 2018-09-08 20:15

相关推荐

被普调的六边形战士很高大:项目经历貌似和专业或者求职方向没大关系?
点赞 评论 收藏
分享
04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
05-07 20:52
吉林大学 Java
点赞 评论 收藏
分享
评论
1
7
分享

创作者周榜

更多
牛客网
牛客企业服务