我是一名Java学习者,试图理解线程。
我期望下面的程序按顺序输出
线程已启动 运行方法 再见
但我按顺序得到输出
再见,线程已启动 Run 方法
这是我的代码:
public class RunnableThread
{
public static void main(String[] args)
{
MyThread t1= new MyThread("Thread started");
Thread firstThread= new Thread(t1);
firstThread.start();
System.out.println("Bye");
}
}
class MyThread implements Runnable
{
Thread t;
String s= null;
MyThread(String str)
{
s=str;
}
public void run()
{
System.out.println(s);
System.out.println("Run Method");
}
}
在多线程代码中,无法保证哪个线程将以什么顺序运行。这是多线程的核心,并且不限于 Java。您可能会收到一次订单 t1、t2、t3,另一次收到订单 t3、t1、t2,依此类推。
在你的情况下有2个线程。一个是主线程,另一个是firstThread。尚未确定哪个将首先执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)