java中thread的start()和run()有何区别?
来源:百度知道 编辑:UC知道 时间:2024/05/10 12:08:05
要是用start()的话,不是也要再调用thread的run()方法么?
那如果写一个
class secThread extends Thread
{
void run()
{
//......
}
}
public class exThread
{
public static void main(String args[])
{
secThread st= new secThread();
st.start();
}
}
这里用st.start()和st.run()有什么区别么?
运行效率?接续结构化?逻辑性?或者别的什么?
小弟新手,诚心求解,先拜谢了
那如果写一个
class secThread extends Thread
{
void run()
{
//......
}
}
public class exThread
{
public static void main(String args[])
{
secThread st= new secThread();
st.start();
}
}
这里用st.start()和st.run()有什么区别么?
运行效率?接续结构化?逻辑性?或者别的什么?
小弟新手,诚心求解,先拜谢了
1、运行的方式不同:
(1)start()方法来启动线程,真正实现了多线程运行,这时无需等待;
(2)run()方法当作普通方法的方式调用,程序还是要顺序执行。
2、run方法的实现不同:
(1)start()的run方法体代码执行完毕而直接继续执行下面的代码;
(2)run()的要等待run方法体执行完毕后才可继续执行下面的代码。
3、线程的不同:
(1)start()通过调用Thread类的start()方法来启动一个线程,这时此线程是处于就绪状态,并没有运行;
(2)run方法只是thread的一个普通方法调用,还是在主线程里执行。
扩展资料
1、run方法:不启动新线程
public void run() { if (target != null) {
target.run();
}}
java中thread的start()和run()有何区别?
java Thread 里面的变量能不能访问?
在Java中出现这样的错误是什么原因造成的?Exception in thread "main" java.lang.NoSuchMethodError: mai
java的Thread问题,我在线等高手的指教
java多线程的问题?-函数Thread.sleep(3);
java的Thread问题,我在线等答案
关于java的问题 exception in thread "main".....
Java程序中出现Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:0是怎么回事
运行java 中出现 except in thread "main" java.lang.noclassdeffounderror:o 是什么问题?
Java中出现 Exception in thread "main" java.lang.NoClassDefFoundError: Form