メインから Producer を作成するとします。次に、このプロデューサーは独自のスレッドを作成し、何かを生成すると function を呼び出しますmain.addProduct()
。この関数は、それを呼び出したプロデューサーと同じスレッドで実行されますか? それとも、メインと同じスレッドで動作しますか?つまり、解決する前に他のすべてのタスクが完了するまで待機しますか?
説明する
public class MainP{
public static void main(String[] args) {
Producer p1 = new producer;
Producer p2 = new producer;
Producer p3 = new producer;
p1.start();
p2.start();
p3.start();
System.out.println("I'm ugly");
}
public static void prettyFunction(){
System.out.println("I'm pretty!");
}
}
public class Producer extends Thread{
public void run(){
while(true)
MainP.prettyFunction();
}
そして問題は、結果が出るかどうかです。
I'm ugly
I'm pretty!
I'm pretty!
I'm pretty!
...
また
I'm pretty!
I'm pretty!
I'm pretty!
I'm ugly
I'm pretty!
I'm pretty!
I'm pretty!
...