Javaマルチスレッドjoin方法の実例コード


本論文で研究したのは主にJavaマルチスレッドにおけるjoin法の使用問題であり、以下で具体的な例とする。
Threadの非静的方法joinは、スレッドBを別のスレッドAの末尾に「加入」させる。Aが実行されるまで、Bは仕事ができません。たとえば:
Thread t=new MyThread()
t.start();
t.join();
また、join()方法にはタイムアウト制限付きのリロードバージョンもあります。例えば、t.join(5000);では、スレッドを5000ミリ秒待ちます。この時間を超えると、停止待ちが停止され、実行可能状態になります。
スレッドの参加join()によるスレッドスタックの結果は、スレッドスタックの変化であり、当然、これらの変化は瞬間的である。

public class TestJoin {
	public static void main(String[] args) {
		MyThread2 t1 = new MyThread2("TestJoin");
		t1.start();
		try {
			t1.join();
			//join()    ,        ,        
		}
		catch (InterruptedException e) {
		}
		for (int i=0 ; i <10; i++)
		System.out.println("I am Main Thread");
	}
}
class MyThread2 extends Thread {
	MyThread2(String s) {
		super(s);
	}
	public void run() {
		for (int i = 1; i <= 10; i++) {
			System.out.println("I am "+getName());
			try {
				sleep(1000);
				//  ,       
			}
			catch (InterruptedException e) {
				return;
			}
		}
	}
}
プログラム運転結果:
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am TestJoin
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
I am Main Thread
締め括りをつける
以上がJavaマルチスレッドjoin方法の実例コードの全部です。興味のある方は引き続き当駅の他のテーマを参照してください。友達のサポートに感謝します。