在Java中可以做这样的事情吗?我只是想知道。
首先,我只是创建一个具有一个参数的新线程。
Thread thread = new Thread(new Person());
然后,在 Person() 的构造函数中我想启动该线程。 那么这样的事情可能吗?
public Person() {
// Here belongs some code for the constructor and then
// I would like to start the thread
}
最佳答案
不,你不能。在 Java 调用 Thread()
构造函数之前,它首先必须急切地计算所有参数,包括调用 Person()
构造函数。这意味着在调用 Person
构造函数时,外部 Thread
对象甚至不存在或尚未初始化,因此您无法真正使用它。
关于java - Java 中是否可以从其参数中的对象启动线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14614585/