当我调用 isAlive() 时,我看到的代码形式如下:m.thrd.isAlive()。 m 实现可运行接口(interface)。 thrd 是 Thread 的对象。
我理解isAlive()是Thread类的方法,我们使用Thrd.isAlive()来调用。我们需要让它知道 m 是线程应该首先死亡。但如何理解object.object.method这种格式呢?
提前致谢
最佳答案
这与多线程没有无关;这纯粹是关于 Java 语法规则和“.”的语义。在java语句中。你在这里得到的是:
具有字段m的类
m 比有字段thrd
thrd 有一个方法 isAlive()。
换句话说。 m.thrd.isAlive() 访问字段 m,访问字段 thrd,访问方法 isAlive()。
顺便说一句:糟糕的命名 - 不应该使用单字母名称作为变量,并且使用像“thrd”这样的缩写也绝对没有意义。这只会让读者感到困惑。
关于java - 调用 isAlive() 或 join(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39264530/