public?class?Program?{
????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("成功");
????????????????????????????????//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();
????}
}三個漸進式問題: 1.執行后什么結果 2 為什么? 3 去掉get方法的synchronized會怎么樣?
是我面試的時候遇到的問題,線程問題,求解
慕田峪3188819
2019-10-17 12:58:09