首先讲讲线程实现的2中方式:
1)继承Thread类
2)实现Runnable接口
推荐第二种方式。因为实现接口的方式可以实现多继承
Thread直接调用start()方法
Thread Test = new Thread();
Test.start();
Runnable要先new一个Runnable对象,把Runnable对象放到Thread里,再调用start()
Test impelements Runnable;
Test t = new Test();
Thread test = new Thread(t);
test.start();
start()和run()的区别
start()方法是让一个线程进入就绪队列等待分配cpu时间片,这个新线程被分到cpu时才调用实现的run()方法
若不使用start()而直接在main方法中使用run()方法:
因没有开辟新线程(没用start()),所以当前线程是main线程
只有新的线程调用了start()方法,等cpu分到它时,才会运行run()方法