Java 多线程------多线程的创建,方式一:继承于Thread类
1 package com.bytezero.thread;
2
3 /**
4 * 多线程的创建,方式一:继承于Thread类
5 * 1.创建一个继承于Thread类的子类
6 * 2.重写Thread类的run()方法 -->将此线程执行的操作声明在tun()中
7 * 3.创建Thread类的子类对象
8 * 4.通过此对象调用start()
9 *
10 * 例子:遍历100以内的所有偶数
11 * @author Bytezero1·zhenglei! Email:420498246@qq.com
12 * create 2021-10-15 10:13
13 */
14
15
16 //1.创建一个继承于Thread类的子类
17 class MyThread extends Thread{
18 //2.重写Thread类的run()方法
19 @Override
20 public void run() {
21 for (int i = 0; i <=100 ; i++) {
22 if(i % 2 ==0){
23 System.out.println(Thread.currentThread().getName()+":"+i);
24 }
25 }
26 }
27 }
28
29
30 public class ThreadTest {
31 public static void main(String[] args) {
32 //3.创建Thread类的子类对象
33 MyThread t1 = new MyThread();
34
35 //4.通过此对象调用start():①启动当前线程 ②调用当前线程的run()
36 t1.start(); //Thread-0
37 //问题一:我们不能通过直接调用run()的方式启动线程
38 // t1.run(); //不是线程 只是 调用了方法
39
40 //问题二:再启动线程,遍历100以内的偶数,不可以还让已经start()的线程去执行.会报
41 //IllegalThreadStateException异常
42 //t1.start(); //不可以
43
44 //需要重新创建一个线程的对象
45 MyThread t2 = new MyThread();
46 t2.start(); //Thread-1
47
48
49
50 //如下操作仍然在main线程中执行的
51 for (int i = 0; i <=100 ; i++) {
52 if(i % 2 != 0){
53
54 System.out.println(Thread.currentThread().getName()+":"+i+"********");
55 }
56 }
57
58
59 }
60
61
62 }

..........................
Java 多线程------多线程的创建,方式一:继承于Thread类的更多相关文章
- Java多线程——线程的创建方式
Java多线程——线程的创建方式 摘要:本文主要学习了线程的创建方式,线程的常用属性和方法,以及线程的几个基本状态. 部分内容来自以下博客: https://www.cnblogs.com/dolph ...
- Java:多线程概述与创建方式
目录 Java:多线程概述与创建方式 进程和线程 并发与并行 多线程的优势 线程的创建和启动 继承Thread类 start()和run() 实现Runnable接口 实现Callable接口 创建方 ...
- 面试官:小伙子,说一说Java多线程有哪些创建方式吧
第一种 继承Thread类 自定义类,继承Thread类,并重写run()方法. class MyThread1 extends Thread { @Override public void run( ...
- 多线程-2.线程创建方式和Thread类
线程的创建方式 1.继承Thread类,重写run方法,示例如下: 1 class PrimeThread extends Thread { 2 long minPrime; 3 PrimeThrea ...
- Java学习笔记44(多线程一:Thread类)
多线程的概念:略 多线程的目的:提高效率 主线程: package demo; //主线程 public class Demo { public static void main(String[] a ...
- 【多线程】线程创建方式三:实现callable接口
线程创建方式三:实现callable接口 代码示例: import org.apache.commons.io.FileUtils; import java.io.File; import java. ...
- Java线程的实现/创建方式
1.继承Thread类: Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例. 启动线程的唯一方法就是通过 Thread 类的 start()实例方法. start( ...
- java 两种进程创建方式比较
A extends Thread: 简单 不能再继承其他类了(Java单继承) 同份资源不共享 A implements Runnable:(推荐) 多个线程共享一个目标资源,适合多线程处理同一份资源 ...
- Java——四种线程创建方式
java中创建线程有四种方式,分别是:继承Thread类,重写run方法,然后创建线程对象并调用start方法.实现Runnable接口,实现run方法,然后创建线程对象并传入Runnable实例,再 ...
- 【Java】线程的创建方式
1.继承Thread类方式 这种方式适用于执行特定任务,并且需要获取处理后的数据的场景. 举例:一个用于累加数组内数据的和的线程. public class AdditionThread extend ...
随机推荐
- ABP vNext系列文章04---DynamicClient动态代理
一.动态代理在ABP系统中的应用 1.它主要在做什么事件 之前开发系统想要在后台调用别的服务都是用HttpClient发起请求,在abp vnext中不需要我们这样做了, 你只要知道服务调用的接口方法 ...
- RabbitMQ集成系统文章01---ABP VNext 分布式事务Event Bus 集成RabbitMQ
1.在两个应用中都配置好要连接的RabbitMQ "RabbitMQ": { "Connections": { "Default": { & ...
- PKI系统
PKI系统简介 PKI(Public Key Infrastructure,公钥基础设施)是一种密码学框架,用于安全地管理数字证书.公钥和私钥,以确保通信和数据的机密性.完整性和身份验证.PKI建立在 ...
- 性能暴增70%!AMD线程撕裂者RPO 7000将于10月19日发布: 96核心Zen 4史无前例
据wccftech最新报道,AMD的下一代Ryzen Threadripper(线程撕裂者)PRO 7000"Storm Peak"CPU将于10月19日作为终极工作站解决方案亮相 ...
- 【C++深度剖析】为什么C++支持函数重载而C不支持--C++程序编译链接过程--符号表生成规则【Linux环境超详细解释C++函数重载底层原理】
文章目录 前言 Linux环境g++编译器的配置以及一些准备工作 源文件的符号表生成以及分析 尾声 前言 先赞后看好习惯 打字不容易,这都是很用心做的,希望得到支持你 大家的点赞和支持对于我来说是一种 ...
- 【技能篇】解决vs编译器scanf等函数不安全问题【手把手操作-一分钟解决】
[技能篇]解决Vs编译器scanf等函数不安全问题 文章目录 说在前面 博主给大家的福利 解决方案 解决过程 尾声 说在前面 大家刚开始学习编程的时候,使用vs编译器.使用scanf等函数的时候遇到的 ...
- 基于OpenCV-Python的图像位置校正和版面分析
前言 使用opencv对图像进行操作,要求:(1)定位银行票据的四条边,然后旋正.(2)根据版面分析,分割出小写金额区域. 图像校正 首先是对图像的校正 读取图片 对图片二值化 进行边缘检测 对边缘的 ...
- 压缩软件7-Zip的简单使用
简介及下载地址 7-Zip是一款开源免费的压缩软件,支持windows系统及Linux系统,压缩后文件扩展名默认为.7z后缀. 网址: https://www.7-zip.org/ 截图如下: 也 ...
- Power BI 6 DAY
Power BI 数据建模与数据汇总分析 层级关系 跨表取字段时类型二可用 父子级关系条件 一个父级下对应多个子级值 一个子级值只属于一个父级 跨表取字段的条件:维度连接用关键字段间是父子级关系时,可 ...
- Java设计模式-解释器模式Interpreter
介绍 在编译原理中,一个算术表达式通过词法分析器形成词法单元,而后这些词法单元再通过语法分析器构建语法 分析树,最终形成一颗抽象的语法分析树.这里的词法分析器和语法分析器都可以看做是解释器 解释器模式 ...