这道关于线程的程序执行结果是什么??
public static Tuser user = new Tuser();
public static void main(String[] args) throws InterruptedException {
new Thread(
new Runnable(){
public void run(){
while(true){
String s = get();
if (user.getUsername().equals("hehe")) {
System.out.println("success");
//break;
}
}
}
}
).start();
Thread.sleep(1000);
new Thread(new Runnable(){
@Override
public void run(){
user.setUsername("hehe");
user=null;
}
}).start();
}
public static synchronized String get(){
return user.getUsername();
}
这个代码执行后的结果是什么,为什么会出现这样的结果,如果把get方法的synchronized去掉后会什么结果? 为什么
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论