当一个线程进入了synchronized方法,在这个方法的某一步调用了wait方法,然后当这个线程再次被唤醒的时候,它是继续从wait的地方开始执行,还是从这个synchronized方法入口开始执行?
解决方案 »
- 另一道腾讯的面试题
- 关于正则的问题!
- 高效排序算法,求教啊!
- Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
- Myeclipse可以编辑,为什么还需整合进Eclipse?
- CORE JAVA的代码,关于Exception in thread "main" java.lang.NoClassDefFoundError: ExecSQL
- 搞java的不是都自视甚高吗?来看看这个吧,看来全国都知道青岛工资低了
- 我要出分,解决问题者得100。
- 编译数据库连接池出错,不知什么原因,请大家帮忙看看,谢谢发,急!!
- 想写一个能在网站能自动填写信息发送请求的工具
- 使用MyEclipse无法创建XML文件(创建File文件)
- 问个关于反射的问题
答案当然是不会重新执行原来已经执行过的的代码了,每个线程都有一个指令程序计数器,当执行完某一个指令,cpu时间片切换到另一个线程执行,下次再切回到原来的线程时接着原来的指令执行.wait和notify是同样的效果.
就像一个人走路,走到一个地方,停住了(wait),等别人通知他能走了,当然从停下来的地方继续走,才符合常理。
那岂不是wait语句之前都不能写会改变某些对象的状态的代码。
那岂不是wait语句之前都不能写会改变某些对象的状态的代码。不好意思。。搞错了,被唤醒并且被执行的线程是从上次阻塞的位置从下开始运行,也就是从wait()方法后开始执行
那岂不是wait语句之前都不能写会改变某些对象的状态的代码。不好意思。。搞错了,被唤醒并且被执行的线程是从上次阻塞的位置从下开始运行,也就是从wait()方法后开始执行
共勉