我有一部分代码处理线程,我想详细了解它的功能。在我的示例中,该run
方法为空,但假设它对全局变量有一些操作:
import java.io.File;
public class DigestThread extends Thread {
private File input;
public DigestThread(File input) {
this.input = input;
}
public void run() {
}
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
File f = new File(args[i]);
Thread t = new DigestThread(f);
t.start();
}
}
}
创建线程并启动它后,它会等待完成 run 方法中的任务,然后再创建/运行另一个线程吗?
第二个问题
如果变量已在run
方法中声明,这意味着它将被声明多次,因为创建的每个线程都会在run
方法中执行任务,是否每个线程都处理自己的变量,尽管每个线程中的变量是相同的?