首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SCJP线程睡眠方法()

SCJP线程睡眠方法()
EN

Stack Overflow用户
提问于 2014-01-30 00:47:24
回答 2查看 98关注 0票数 1

我正在读《南华早报》。在读线程的时候,我读到了sleep()方法。但是这句话,我不明白。请帮帮我

“请记住sleep()是一个静态方法,所以不要误以为一个线程可以让另一个线程进入睡眠状态。”

有些方法看起来像是告诉另一个线程阻塞,但事实并非如此。如果你有一个对另一个线程的引用"t“,你可以这样写:t.sleep()t.yield(),但这些实际上是Thread类的static方法-它们不影响实例t;相反,它们被定义为总是影响当前正在执行的线程

EN

回答 2

Stack Overflow用户

发布于 2014-01-30 00:50:37

也就是说,即使您可以在Thread实例上调用这些yield()leep()方法,这些实例也不会受到影响,因为sleep()方法是一个静态方法。只会影响当前正在执行的线程,而不会影响调用sleep()方法的实例

Api

使当前正在执行的线程休眠

您可能会这样做,因为您调用了实例上的方法并使它们休眠,但它不是

票数 1
EN

Stack Overflow用户

发布于 2014-01-30 00:53:18

当调用静态方法时,被调用的实例不起作用,不管是Thread.sleep还是String.valueOf。例如,你可以写String.valueOf(17),但是你也可以写"123".valueOf(17) --看起来很奇怪,但在这两种情况下结果都是"17“,没有考虑第二种情况下的"123”。

同样,Thread.sleep()是一个静态方法,它总是将当前线程置于休眠状态,也就是调用此方法的线程。通过这种方法不可能控制任何其他线程,即使对于不了解static methods的程序员来说,这似乎也是可能的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21437324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档