৫(”ړ৫)bz 2022-06-16 11:02 采纳率: 88.6%
浏览 30
已结题

java关于线程的习题

想请问一下这串代码是怎么运行的为什么结果是hello,为什么不是在s=“java”那里就赋值输出了呀?

img

  • 写回答

3条回答 默认 最新

  • bst@微胖子 2022-06-16 11:30
    关注

    你所有的线程执行run()方法到f()里面,在打印之前进入的wait()方法所有的线程都进入到等待状态,虽然你条件是满足了,但是是在s="hello"后调用notify()方法唤醒线程,此时s的值已经被赋值为hello,然后再执行打印语句,自然最后就是打印的hello了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月24日
  • 已采纳回答 6月16日
  • 创建了问题 6月16日