线程创建方法
Thread class
Runnable接口
Callable接口
1.Thread class
继承Thread类
-自定义线程类继承Thread类
-重写run()方法,编写线程执行体
-创建线程对象,调用start()方法启动线程
不建议使用:避免OOP单继承局限性
例子在上一篇博客
2.==Runnable接口 ==
实现Runnable接口
定义MyRunnable类实现Runnable接口
实现run()方法,编写线程执行体
创建线程对象,调用start()方法启动线程
建议使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用
与方法一的不同之处:
启动方式不同:
继承Thread类:子类对象.start();
实现Runnable接口:传入目标对象+Thread对象.start();
new Thread(test).start();
模拟买票
public class TestThread1 implements Runnable{
private static int ticketNum = 10;
@Override
public void run() {
// TODO Auto-generated method stub
while(true) {
if(ticketNum<=0) {
break;
}
//模拟延时
try {
Thread.sleep(100);
} catch