スレッドを扱うコードの一部があり、その機能を詳細に理解したいと考えています。この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 メソッドでタスクが完了するのを待ちますか?
2番目の質問
変数がrun
メソッドで宣言されている場合、作成されたすべてのスレッドがメソッドでタスクを実行するため、何度も宣言されることを意味しrun
ます。各スレッドの変数は同じですが、すべてのスレッドは独自の変数を処理しますか?