学习笔记视频地址
如何在程序中创建出多条线程?
Java是通过java.lang.Thread类的对象来代表线程的。
线程的创建方式?
1. 继承Thread类
- 定义一个子类继承Thread类,重写run()方法。
- 创建MyThread类的对象。
- 调用线程对象的start()方法启动线程(启动后还是执行的run()方法)。
优缺点:
优点:编码简单。
缺点:线程类已经继承Thread,无法继承其他类,不利于功能的扩展。
注意:
- 启动线程必须是调用start方法,不是调用run方法。
- 不要把主线程任务放在启动子线程之前。
2. 实现Runnable接口
1. 定义一个线程任务类MyRunnable实现Runnable接口,重写run()方法。
2. 创建MyRunnable任务对象。
3. 把MyRunnable任务对象交给Thread处理。
4. 调用线程对象的start()方法启动线程。
匿名内部类写法:
- 创建Runnable的匿名内部类对象。
- 再交给Thread线程对象。
- 再调用线程对象的start()启动线程。
优缺点:
优点:任务类只是实现接口,可以继承其他类,实现其他接口,扩展性强。
3. 实现Callable接口
假如线程执行完毕后有一些数据需要返回,他们重写的run方法均不能直接返回结果。 但是Callable接口的call方法是有返回值的。
创建方式: