假设我从我的主创建生产者。然后,这个生产者创建它自己的线程,当它产生东西时调用一个函数main.addProduct()
。这个函数会和调用它的生产者在同一个线程中执行吗?或者它会在与 main 相同的线程中工作,这意味着它会等到所有其他任务完成后再解决它?
为了显示
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!
...