Java-线程Thread方法start()和run()
原创
©著作权归作者所有:来自51CTO博客作者归田归田的原创作品,请联系作者获取转载授权,否则将追究法律责任
(1)start():作用是启动一个新的线程,新线程会执行线程中相应的run()方法,start()不能被重复调用,
(2)run():该方法和普通的成员方法一样,可以被重复调用。如果直接调用run()的话,会在当前线程中执行run(),而并不会启动新的线程。
示例代码:
public class NewThread extends Thread{
public NewThread(String name)
{
super(name);
}
public void run()
{
System.out.println(Thread.currentThread().getName()+" is running");
}
}
public class Hello {
public static void main(String [] args)
{
NewThread t1=new NewThread("thread1");
System.out.println(Thread.currentThread().getName()+" running");
t1.run();
System.out.println(Thread.currentThread().getName()+" starting");
t1.start();
}
}
运行结果:
main running
main is running
main starting
thread1 is running
Thread.currentThread().getName()是用于获取当前线程的名字,当前线程是指正在cpu中调度执行的线程。