今天群里讨论了一个面试题,很有代表意义,记录一下
首先 这2个方法修改状态的对象不一样;一个是操作 监视器对象的 一个是才做线程的。
第2 安全性问题;
如果 sleep是实例方法 因为在jvm中可以拿到thread实例的引用 所以 就会出现别的线程强制另外一个线程睡眠的方法
这样 就出现了线程的执行逻辑以及 内存模型的不可控
so 只能 把目标设定为当前的线程。
还有就是CPU占用的问题,sleep()是要退出CPU占用的。
这样 就出现了线程的执行逻辑以及 内存模型的不可控
so 只能 把目标设定为当前的线程。