很少有与Thread Join相关的问题

时间:2014-10-02 09:48:00

标签: multithreading

这是我使用Threads的简单程序

public class ThreadJoinExample implements Runnable 
{

    @Override
    public void run() {
        for(int i=0;i<5;i++)
        {
            try {
                System.out.println(Thread.currentThread().getName());
                Thread.sleep(100);
            } catch (Exception e) {
                e.printStackTrace();
            }


        }

    }

    public static void main(String args[]) throws InterruptedException
    {

        ThreadJoinExample threadjoinex  = new ThreadJoinExample();

        Thread t1 = new Thread(threadjoinex,"Th1");
        Thread t2 = new Thread(threadjoinex,"Th2");
        Thread t3 = new Thread(threadjoinex,"Th3");

        t1.start();
        t2.start();
                t3.start();

        t1.join();
        t2.join();
        t3.join();
    }


}

我在下面列出了与上述程序相关的几个问题

1

订单(开始和加入方法)会有什么不同吗?或者它可以是任何方式

t1.start();
t1.join();

t2.start();
t2.join();

t3.start();
t3.join();
  1. 我已经读过如果一个线程T2想要在线程T1完成后才开始 应该从线程T2文件中调用T1.join()

  2. 如果是这样,那么上面的程序代码是无用的,因为从同一个文件调用所有(join)??

    1. 上述程序的输出没有任何订单 是否可以按顺序打印? (下面的方式)

      Th1
      Th2
      Th3
      
      Th1
      Th2
      Th3
      
      Th1
      Th2
      Th3
      
      Th1
      Th2
      Th3
      

0 个答案:

没有答案