实现Runnable接口
// 创建线程方式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();
for (int i = 0; i < 20; i++) {
System.out.println("我在学习多线程——"+i);
}
}
}
1.继承Thread类
-
子类继承Thread类具备多线程能力。
-
启动线程:子类对象.start()。
-
不建议使用:避免OOP单继承局限性。
2.实现Runnable接口
-
实现接口Runnable具有多线程能力
-
启动线程:传入目标对象+Thread对象.start()
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义