继承Thread类实现多线程以及概论
进程:程序制作完成是静态的,程序开始运行就称为程序开始了一个进程
线程:是进程的一个执行单元,是进程的调度实体。比进程更小的独立运行的基本单位。一个程序中存在的多个任务就称为线程,也被称为轻量级进程。如我们写的Main方法就是一个线程
创建线程的三种方式:
- Thread class 继承Thread类
- Runable 接口 实现Runable接口
- Callable接口 实现Callable接口。
public class Thread1 extends Thread{//第一步,继承Thread类
@Override
public void run() {//第二步,重写run方法
for (int i = 0; i <200 ; i++) {
System.out.println("我在看代码"+i);
}
}
public static void main(String[] args) {
Thread1 thread1 = new Thread1();//第三步,创建类Thread1的实例对象
thread1.start();//第四步,调用thread类的start方法
for (int i = 0; i <200 ; i++) {
System.out.println("我在学习多线程"+i);
}
}
}
以上代码有两个for循环,在没有学习多线程之前,两个输出语句会是先执行run方法,run方法执行完毕后才会执行main方法里面的代码,在学习多线程调用start方法之后可以发现,循环打印的“我在看代码”和“我在学习多线程”是交替执行的,执行的先后顺序由cpu调度。
注意:run()方法是不需要用户来调用的,当通过start方法启动一个线程之后,当线程获得CPU执行时间之时,便进入run方法体去执行具体的任务。注意,继承Thread类必须重写run方法,在run方法中定义具体要执行的任务。执行start方法也会执行run方法里的内容
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!