一,继承Thread类,覆盖run()方法。
Thread thread=new Thread()
{
@Override
public void run() {
System.out.println("线程名1:"+Thread.currentThread().getName());
}
};
thread.start();
{
@Override
public void run() {
System.out.println("线程名1:"+Thread.currentThread().getName());
}
};
thread.start();
二,实现Runable()接口。
Thread runable=new Thread(new Runnable() {
@Override
public void run() {
System.out.println("线程名2:"+Thread.currentThread().getName());
}
});
runable.start();
@Override
public void run() {
System.out.println("线程名2:"+Thread.currentThread().getName());
}
});
runable.start();
两种方式的区别:第二种更习惯于面向对象编程,所以支持使用第二种方式创建线程。
思考题:下面代码的输出结果。
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("runable");
}
})
{
@Override
public void run() {
System.out.println("thread");
}
}.start();
@Override
public void run() {
System.out.println("runable");
}
})
{
@Override
public void run() {
System.out.println("thread");
}
}.start();