sleep()和yield()为什么是静态的

请问,Thread的sleep()和yield()为什么是静态的,这个问题该如何回答呢?
我知道它是为了确保只能当前线程运行,其他处于等待状态的线程调用是无意义的,但是这句话又是怎么理解呢?
静态方法是类方法而不是实例方法,那这样推导的话,一个线程就不能调用另一个类的类方法而可以调用实例方法,是这样的意思吗?
诚心询问,请各位指教
#Java开发#
全部评论
打开thread类源码,sleep和yield都是native方法,具体实现不得而知,我说下我的猜测:每一个线程的sleep和yield应该由线程本身执行的代码去决定,而不该由其他线程去控制,我猜测原生实现中有类似这样的操作 Thread t = Thread.currentThread(),获取当前线程对象后才去进行下一步操作。
1 回复
分享
发布于 2021-10-12 08:22

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务