展开全部
启动一个新的线程很简单,直接调用线程类的start()方法就可以了。但是必32313133353236313431303231363533e59b9ee7ad9431333337393563须是线程类,就是必须实现了Runnable接口的类,当然也可以是继承Thread类因为Thread也实现了Runnable接口。
Runnable接口有一个run()方法,java虚拟机会自己执行这个方法。你只需要重写这个方法就可以了。但是你不能自己调用这个方法,例如像这样:
Thread thread = new StartThread();
thread.run();
而是应该像这样:
Thread thread = new StartThread();
thread.start();
你可以试一试下面的程序用thread.run();和thread.start();有什么不同。public class StartThread extends Thread
{
@Override
public void run()
{
String name = Thread.currentThread().getName();
int i = 0;
for(i = 0;i<10;i++)
{
System.out.println(name+": "+i);
}
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
for( ;i<20;i++)
{
System.out.println(name+": "+i);
}
}
public static void main(String[] args)
{
Thread thread = new StartThread();
thread.start();
// thread.run();
try
{
Thread.sleep(200);
} catch (InterruptedException e)
{
e.printStackTrace();
}
String name = Thread.currentThread().getName();
for(int i = 0;i<10;i++)
{
System.out.println(name+": "+i);
}
}
}