关于线程创建的两个方法,
1)类继承Thread类,然后重载run()方法,通过star函数启动
2)通过实现Runnable接口的run函数,通过start函数启动
package Demo_1;
public class Mythread
{
public static void main(String[]args)
{
System.out.println(Thread.currentThread().getName());
Monster mt = new Monster();
Thread test = new Thread(mt);
test.start();
Thread t = new Hero();
t.start();
}
}
class Monster implements Runnable
{
public boolean EndStatus = false;
public void run()
{
System.out.println(Thread.currentThread().getName());
int i;
for(i = 0; i < 10; i++)
{
//sleep(1);
try
{
Thread.sleep(1000);
System.out.println("monster sleep 1");
}
catch(Exception e)
{
//
}
}
EndStatus = true;
}
}
class Hero extends Thread
{
public void run()
{
System.out.println(Thread.currentThread().getName());
try {
Thread.sleep(1000);
System.out.println("Extend Thread ");
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
第一种方法由于是继承了Thread类,这样就不能继承别的类,这样对于程序的扩展等功能来说有局限性
第二种在扩展方面则有优势的多