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

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

相关推荐

码农索隆:卡学历都不行了,开始卡颜值了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 13:15
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 12:11
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务