当我调用isAlive()时,我看到代码形式如:m.thrd.isAlive()。 m实现了可运行的接口。 thrd是Thread的对象。
我理解isAlive()是Thread类的方法,我们使用Thrd.isAlive()来调用。我们需要让它知道m是线程应该先死。但是如何理解object.object.method这种格式?
提前致谢
答案 0 :(得分:3)
与多线程没有关系;这纯粹是关于Java语法规则和“。”的语义。在java语句中。你在这里得到的是:
具有字段 m
的类m 而不是字段 thrd
thrd 有一个方法isAlive()。
换句话说。 m.thrd.isAlive()访问字段m,访问字段thrd,以访问方法isAlive()。
Btw:糟糕的命名 - 不应该使用一个字母名称来表示变量,并且使用像“thrd”这样的缩写绝对没有意义。这只会让读者感到困惑。