多线程编程
多线程编程
urcuteimmehinge多线程 Java.Thread
继承Thread类
- 子类继承Thread类具备多线程能力
- 启动线程:子类对象.start()
- 不建议使用,避免OOP但继承局限性
1 | // 创建线程方法一:继承Thread类,重写run()方法,调用start开启线程 |
案例:图片下载
1 | import org.apache.commons.io.FileUtils; |
实现Runnable接口
- 实现接口Runnable具有多线程能力
- 启动线程:传入目标对象+Thread对象.start()
- 推荐使用:避免单继承局限性,灵活方便,方便同一个对象被多个线程使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24// 实现线程接口2 : 实现runnable接口, 重写run方法, 执行线程需要丢入runnable接口实现类。 调用start方法
public class TestThread3 implements Runnable {
public void run() {
// run方法线程体
for (int i = 0; i < 20; i++) {
System.out.println("我在看代码---" + i);
}
}
public static void main(String[] args) {
// 创建一个runnable接口的实现类
TestThread3 testThread3 = new TestThread3();
// 创建线程对象,通过线程对象来开启我们的线程(代理)
// Thread thread = new Thread(testThread3);
// thread.start();
new Thread(testThread3).start();
for (int i = 0; i < 20; i++) {
System.out.println("我在学习多线程--" + i);
}
}
}
例:
1 | /** |
案例龟兔赛跑
1 | /** |
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果