java多线程的两种创建方式
2024-10-20 20:42:49
方式一:继承Thread类
1.创建一个继承于Thread类的子类
2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中
3.创建Thread类的子类的对象
4.通过此对象调用start()方法开启线程
//1.创建一个继承于Thread类的子类
public class ThreadDemo extends Thread {
//2.重写Thread类的run()方法---> 将此线程执行的操作声明在run()中
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("子线程执行输出:"+i);
}
}
}
//主类
public class test {
public static void main(String[] args) {
//3.创建Thread类的子类的对象
Thread threadDemo = new ThreadDemo();
//4.通过此对象调用start()方法开启线程
threadDemo.start();
//主线程任务
for (int i = 0; i < 5; i++) {
System.out.println("主线程执行输出:"+i);
}
}
}
方式二:继承Runnable接口
1.创建一个实现Runnable接口的类
2.实现类去实现Runnable中的抽象方法:run()
3.创建实现类的对象
4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
5.通过Thread类的对象调用start()
//1.创建一个实现Runnable接口的类
public class ThreadDemo implements Runnable {
//2.实现类去实现Runnable中的抽象方法:run()
@Override
public void run() {
for (int i = 0; i < 5; i++) {
System.out.println("子线程执行输出:"+i);
}
}
}
//主类
public class test {
public static void main(String[] args) {
//3.创建实现类的对象
ThreadDemo threadDemo = new ThreadDemo();
//4.将此对象作为参数传递到Thread类的构造器中,创建Thread类的对象
Thread t1 = new Thread(threadDemo);
//5.通过Thread类的对象调用start()
t1.start();
//主线程任务
for (int i = 0; i < 5; i++) {
System.out.println("主线程执行输出:"+i);
}
}
}
最新文章
- 从零开始编写自己的C#框架(23)——上传组件使用说明
- Quill – 可以灵活自定义的开源的富文本编辑器
- Hadoop的Map侧join
- Java_类文件及加载机制
- (转)Docker常用命令
- Xamarin.Forms WebView
- BZOJ 1708: [Usaco2007 Oct]Money奶牛的硬币
- effective c++ 条款3 use const whereever you can
- C++中public,protected,private访问
- Django1.11搭建一个简易上传显示图片的后台
- Sql Server 的服务器类型
- intellij idea的安装步骤---经典
- js弹窗登录效果(源码)--web前端
- word2vec初探(用python简单实现)
- 【托业】【怪兽】TEST01
- jenkins 判断某个job是否正在构建
- Python删除list里面的重复元素的俩种方法
- getItemAt
- 使用Tensorflow操作MNIST数据
- OneNET麒麟座应用开发之七:控制采样电机
热门文章
- SpringBoot定时任务 - 集成quartz实现定时任务(单实例和分布式两种方式)
- Odoo 14 升级模块后为什么template不生效?
- Odoo14 TypeError: Cannot read property &#39;classList&#39; of undefined
- SkiaSharp 之 WPF 自绘 粒子花园(案例版)
- 从贡献第一个 pr 开始,我的开源之路正式开启
- Gulp介绍及安装使用教程
- Redis 14 发布订阅
- [跨数据库、微服务] FreeSql 分布式事务 TCC/Saga 编排重要性
- Taurus.MVC 微服务框架 入门开发教程:项目集成:2、客户端:ASP.NET Core(C#)项目集成:应用中心。
- TCP实现多个客户端发送数据给服务器端