java - 调用 isAlive() 或 join()

标签 java multithreading

当我调用 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/

相关文章:

c# - Thread.Sleep(1) 有什么特别之处吗?

c++ - 优雅地退出无限循环线程

java - SpringMVC获取404错误

java - "non-static variable this cannot be referenced from a static context"错误

java - FileInputStream reading/dev/hda1 会有效地读取磁盘扇区吗

java - java.net.SocketTimeoutException : Connect timed out 的奇怪情况

c# - 使用异步 Web 服务时,什么应该 "await"什么不应该?

c++ - qt gui如何从另一个类(class)获得进步

java - Android LocationManager 获取坐标的整数值(而 double 值)

mysql - django 的数据库锁定问题