java - 在创建线程时,我们在构造函数中传递的参数包含(this)为什么要使用它?
问题描述
我是编程新手。在创建线程时,为什么我们将(this)作为参数传递?
private Thread filePuller = null;
filePuller = new Thread(this, "FilePuller");
解决方案
这里发生的是您显式地实例化Thread
类并将当前类的实例传递给新线程。有关详细信息,请参阅此 Javadoc以获取有关该构造函数的详细信息。您当前的对象是Runnable
接口的一个实例(您应该能够通过检查类开始的代码来检查)。因此,稍后在您的代码中,当filePuller.start()
可能调用时,它将调用当前类的run()
方法。您应该能够run()
在当前类的某处看到该方法的实现——无论是在同一个文件中还是在超类的代码中。希望有帮助。
推荐阅读
- javascript - 未捕获的 ReferenceError:在初始化之前无法访问“__WEBPACK_DEFAULT_EXPORT__”
- c++ - 无法调用没有对象的成员函数 - PX4 I2C
- python - 测试 django 邮件和附件返回空
- ruby-on-rails - RAILS 6 防止 URL 中出现许多斜杠
- python - 覆盖最大面积的矩形
- python - Amazon Connect 和 Salesforce:Lambda 不工作 INVALID_SESSION_ID
- android - 如何从 Flutter 中的隔离中删除 SharedPreferences 项
- python - 如何从给定表创建下拉列表
- symfony - 如何测试请求是否允许 AbstractGuardAuthenticator::support() 上的“IS_AUTHENTICATED_ANONYMOUSLY”
- javascript - 是否可以使用循环导入多个 Vue 插件?避免手动输入所有文件