线程不一定立即执行,CPU安排调度
通过以下三种方式实现多线程
- Thread类
- Runnable接口
- Callable接口
多线程通过继承Thread类,然后重写run方法,然后创建线程对象,然后通过start()方法或run()方法 开启线程
- start()
调用start()方法实现多线程同时运行,可以实现高并发。
- run()方法
调用run()方法的时候它先是单独执行这一线程的。
小结:
子类继承Thread类具备多线程能力
启动线程:子类对象.start()
不建议使用:避免OOP单继承局限性
实现Runnable接口
实现接口Runnable具有多线程能力
启动线程:传入目标对象+Thread对象.start()
推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用