对线程的创建

一,概括  

二,线程构建方式一(继承Thread类)

三,案例

父类:

package Duoxiancheng;public abstract class Name {public static void main(String[] args) {//3,创建一个Thread线程类对象Thread t1 =new ZHiLeiA();//4,启动线程t1.start();for (int i = 0; i < 4; i++) {System.out.println("软件");}}}

 子类:

package Duoxiancheng;
/*
1.让子类继承Thread线程类
* */public class ZHiLeiA extends Thread {//2,必须重写父类的run方法;@Overridepublic void run(){for (int i = 0; i <4 ; i++) {System.out.println("星火666");}}
}

注意事项:

 四,线程构建方式二(实现Runnable接口)

五,案例

 父类:

package Duoxiancheng;public class Name2 {public static void main(String[] args) {//3,创建任务对象Runnable r =new ZhiLieB();//4,把任务对象处理new Thread(r).start();for (int i = 0; i < 5; i++) {System.out.println("主线程运行"+i);}}
}

子类:

package Duoxiancheng;
//1,实现Runnable接口
public class ZhiLieB implements Runnable {//2,重写run方法@Overridepublic void run() {//执行任务for (int i = 0; i < 5; i++) {System.out.println("次线程运行"+i);}}
}

注意事项:

六,线程创建方式二的匿名内部类(简化写法) 

七,案例:
 

package Duoxiancheng;public class Name2_2 {public static void main(String[] args) {//1,直接创建Runnable接口的匿名内部类
//    Runnable r =new ZhiLieB(){
//     @Override
//     public void run() {
//        //执行任务
//         for (int i = 0; i < 5; i++) {
//             System.out.println("次线程运行"+i);
//         }
//     }
//    };
//    new Thread(r).start();
//        for (int i = 0; i <5 ; i++) {
//            System.out.println("主线程运行"+i);
//        }
//    }//2,简化一
//    new Thread(new Runnable() {
//        @Override
//        public void run() {
//            for (int i = 0; i < 5; i++) {
//                System.out.println("次线程运行"+i);
//            }
//        }
//    }).start();
//        for (int i = 0; i <5 ; i++) {
//        System.out.println("主线程运行"+i);
//    }//3,简化二new Thread(()->{for (int i = 0; i < 5; i++) {System.out.println("次线程运行"+i);}}).start();for (int i = 0; i <5 ; i++) {System.out.println("主线程运行"+i);}}
}

八,线程构建方式三(实现Gallable接口)

九,案例

 父类:

package Duoxiancheng;import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;public class Name3 {public static void main(String[] args) throws ExecutionException, InterruptedException {//3,创建一个callable的对象Callable<String> call =new ZhiLieC(100);//4,封装对象FutureTask <String>f1=new FutureTask<>(call);//5,交给线程对象new Thread(f1).start();//6,获取线程执行后的结果String rs =f1.get();System.out.println(rs);}
}

子类:

package Duoxiancheng;import java.util.concurrent.Callable;
//1,实现接口
public class ZhiLieC implements Callable<String> {private int n;public ZhiLieC(int n){this.n=n;}//2,重写call方法@Overridepublic String call() throws Exception {//描述线程任务,返回结果//例:求1-n的和返回int sum =0;for (int i = 1; i <=n ; i++) {sum += i;}return "线程所求之和为"+sum;}
}

注意事项:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/160944.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汇编语言学习笔记

汇编语言的不同种类 as86汇编&#xff1a;能产生16位代码的Intel 8086汇编 mov ax, cs //cs→ax&#xff0c;目标操作数在前GNU as汇编&#xff1a;产生32位代码&#xff0c;使用AT&T系统V语法 movl var&#xff0c; %eax // var→%eax&#xff0c;目标操作数在后内嵌汇编…

Android异步之旅:探索AsyncTask

前言&#xff1a; 在Android应用程序开发中&#xff0c;异步操作是非常常见的需求。比如&#xff0c;我们可能需要在后台线程中执行网络请求、数据库操作或者其他耗时的任务&#xff0c;而不阻塞UI线程。为了实现这些异步操作&#xff0c;Android提供了多种方式&#xff0c;其…

基于Qt的UDP通信、TCP文件传输程序的设计与实现——QQ聊天群聊

&#x1f64c;秋名山码民的主页 &#x1f602;oi退役选手&#xff0c;Java、大数据、单片机、IoT均有所涉猎&#xff0c;热爱技术&#xff0c;技术无罪 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 获取源码&#xff0c;添加WX 目录 前言一…

PostgreSQL序列,怎么才能第二天重新从1开始计数

--确定日期最大值和每天序列号最大值 with cte as(select (((1::bigint)<<32)-1) as max_date_second,(((1::bigint)<<31)-1) as max_sn )select max_date_second,to_timestamp(max_date_second),max_sn,((max_date_second<<31)|max_sn) as max_val,(((max_d…

Selenium 元素不能定位总结

目录 元素不能定位总结: 1、定位语法错误&#xff1a; 定位语法错误&#xff0c;如无效的xpath&#xff0c;css selector,dom路径错误&#xff0c;动态dom 定位语法错误&#xff0c;动态路径&#xff08;动态变化&#xff09; 定位策略错误&#xff0c;如dom没有id用id定位…

研发探索:导购APP、查券返利机器人与淘客系统,全面对比与选择

研发探究&#xff1a;导购APP、查券返利机器人与淘客系统&#xff0c;全面对比与选择 在互联网购物的时代&#xff0c;导购APP、淘客机器人和微赚淘客系统成为了消费者们的三大好帮手。它们各具优势&#xff0c;但也存在一些不足。本文将为您详细对比这三种工具&#xff0c;帮…

vue history路径编码

记录今天遇到的一个问题&#xff1a; 问题现状 有一个需要前端伪造302进行重定向的需求&#xff0c;我们需要将这样的一个路径&#xff1a;http://xxx.com/system-name/#/index&#xff0c;拼接在跳转地址的后面&#xff0c;进行重定向。拼接的方式是这样的&#xff1a; htt…

攻防世界-web-Confusion1

1. 题目描述 打开链接&#xff0c;如图 点击Login和Rigister&#xff0c;都报错 但是有提示 指出了flag所在的位置&#xff0c;题目中直接能获取到的信息暂时就这么些了 2. 思路分析 既然告诉了我们flag文件的位置&#xff0c;那么要读取到这个文件&#xff0c;要么是任意文…

AI辅助带货直播场景源码系统 附带网站的搭建教程

互联网技术的发展和普及&#xff0c;直播带货行业迅速崛起。然而&#xff0c;直播带货在带来商机的同时&#xff0c;也面临着诸多挑战。如直播内容缺乏新意、转化率低等问题。针对这些问题&#xff0c;AI辅助带货直播场景源码系统应运而生&#xff0c;旨在利用人工智能技术&…

【高级渗透篇】网络安全面试

【高级渗透篇】网络安全面试 1.权限维持2.代码安全Python语法相关 1.权限维持 Linux权限维持方法论 Windows权限维持方法论 2.代码安全 Python 语法相关 1、Python的值类型和引用类型是哪些 Python 中的值类型包括&#xff1a; 数字类型&#xff08;如整数、浮点数、复数…

对接苹果支付退款退单接口

前言 一般而言&#xff0c;我们其实很少对接退款接口&#xff0c;因为退款基本都是商家自己决定后进行操作的&#xff0c;但是苹果比较特殊&#xff0c;用户可以直接向苹果发起退款请求&#xff0c;苹果觉得合理会退给用户&#xff0c;但是目前公司业务还是需要对接这个接口&am…

试试MyBatis-Plus可视化代码生成器,太香了,你一定会感谢我

前言 在基于Mybatis的开发模式中&#xff0c;很多开发者还会选择Mybatis-Plus来辅助功能开发&#xff0c;以此提高开发的效率。虽然Mybatis也有代码生成的工具&#xff0c;但Mybatis-Plus由于在Mybatis基础上做了一些调整&#xff0c;因此&#xff0c;常规的生成工具生成的代码…

PC端使子组件的弹框关闭

子组件 <template><el-dialog title"新增部门" :visible"showDialog" close"close"> </el-dialog> </template> <script> export default {props: {showDialog: {type: Boolean,default: false,},},data() {retu…

【JavaSE】-5-嵌套循环

回顾 一、java语言特点 二、配置java环境 path 三、记事本 javac -d . java 包名.类名 四、eclipse 五、变量 定义变量 数据类型 变量名值; 六、相关的数据类型 ​ 基本&#xff08;四类 、8种&#xff09;、引用 ​ 类型转换&#xff08;自动、强制&#xff09; ​ 运…

Java面向对象(高级)-- 类中属性赋值的位置及过程

文章目录 一、赋值顺序&#xff08;1&#xff09;赋值的位置及顺序&#xff08;2&#xff09;举例&#xff08;3&#xff09;字节码文件&#xff08;4&#xff09;进一步探索&#xff08;5&#xff09;最终赋值顺序&#xff08;6&#xff09;实际开发如何选 二、(超纲)关于字节…

1992-2021年省市县经过矫正的夜间灯光数据(GNLD、VIIRS)

1992-2021年省市县经过矫正的夜间灯光数据&#xff08;GNLD、VIIRS&#xff09; 1、时间&#xff1a;1992-2021年3月&#xff0c;其中1992-2013年为年度数据&#xff0c;2013-2021年3月为月度数据 2、来源&#xff1a;DMSP、VIIRS 3、范围&#xff1a;分区域汇总&#xff1a…

SpringBoot : ch05 整合Mybatis

前言 随着Java Web应用程序的快速发展&#xff0c;开发人员需要越来越多地关注如何高效地构建可靠的应用程序。Spring Boot作为一种快速开发框架&#xff0c;旨在简化基于Spring的应用程序的初始搭建和开发过程。而MyBatis作为一种优秀的持久层框架&#xff0c;提供了对数据库…

【Linux】-进程间通信-共享内存(SystemV),详解接口函数以及原理(使用管道处理同步互斥机制)

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

中低压MOSFET 2N7002T 60V 300mA 双N通道 采用SOT-523封装形式

2N7002KW小电流双N通道MOSFET&#xff0c;电压60V电流300mA&#xff0c;采用SOT-523封装形式。低Ros (on)的高密度单元设计&#xff0c;坚固可靠&#xff0c;具有高饱和电流能力&#xff0c;ESD防护门HBM2KV。可应用于直流/直流转换器&#xff0c;电池开关等产品应用上。

Redis JDBC

1、导入依赖&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.4.3</version></dependency> 2、连接JDBC public class JedisDemo05 {public static void main(String[]…