如何同时创建线程

时间:2014-12-11 10:17:31

标签: java multithreading

这里我们有2个线程类对象t1和t2。

main()
{
 //object creation
 t1.start();
 t2.start();
 }

这在逻辑上意味着第一行将执行并完成,因此线程然后第2行将执行。那么任何人都可以解释java如何同时创建两个不同的线程。

2 个答案:

答案 0 :(得分:4)

第一行将执行并完成......:这是真的。

...因此线程:不正确

你的结论不正确。调用t1.start()只是关于当前线程执行main的正常函数调用。 t1.start()将被执行,因此当前线程将等待调用完成。

但是,t1.start();创建一个新的Thread并返回。现在这个线程独立于执行main的当前线程,并且可以在将来的任何时间执行。此外,当前线程不会等待创建的线程完成执行。这就解释了为什么你的结论是错误的。

答案 1 :(得分:0)

t1.start()将启动一个将并行执行的新线程(不阻塞main),因此t2.start()将并行启动另一个线程,或者t1'线程是否已完成。

这样,最后你将有三个并行运行的线程(t1,t2和主线程)。