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 ...
随机推荐
- typeScript类型别名
类型别名 类型别名:是可以给一个类型起一个新的名字 采用关键字 type 例如 type Name=string|number type strType=string|number|boolean; ...
- 大数据面试题集锦-Hadoop面试题(五)-优化
你准备好面试了吗?这里有一些面试中可能会问到的问题以及相对应的答案.如果你需要更多的面试经验和面试题,关注一下"张飞的猪大数据分享"吧,公众号会不定时的分享相关的知识和资料. 1. ...
- [LeetCode刷题记录]39 组合总和
题目描述 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合.candidates 中的数字可以无限制 ...
- 宏观上看Spring创建对象的过程
宏观上看Spring创建对象的过程 对于对象而言,可以分为简单对象和复杂对象: 简单对象 简单对象指可以直接new的对象: Spring在创建这些对象时,是基于反射来完成的. 复杂对象 复杂对象指不能 ...
- svn忽略某个目录后update出现fetching
忽略某个子目录 在svn udpate一个大目录时忽略特定的子目录,主要是子目录下内容已经单独拉取过,并且这个大目录对于程序来说,可以是只读的. 操作方法:选中要忽略的目录,右键 svn - Unve ...
- 从 WebStorm 转到 VSCode!使用一周体验报告
前言 最近我的 Jetbrains 开源项目授权到期了,想要续订的时候发现 Jetbrains 提高了开源项目申请门槛,我的 StarBlog 项目因为名字里包含 blog 这个词无法申请,虽然我在 ...
- HarmonyOS 开发入门(一)
HarmonyOS 开发入门(一) 日常逼逼叨 因为本人之前做过一些Android相关的程序开发,对移动端的开发兴趣比较浓厚,近期也了解到了一些关于华为HarmonyOS 4.0 的事件热点,结合黑马 ...
- OLED 驱动模块程序代码
1.前言 作为嵌入式软件开发,可能经常会使用单片机连接驱动显示屏,实现人机交互的功能,通常可选择的有 OLED 和 LCD 等,其中相关驱动代码例程网上更是数不胜数. 本文介绍的是 OLED, 常见代 ...
- TStringList的IndexOfName
IndexOfName这个方法用着很好,记录下,以后留意下 上个例子: procedure TForm1.Button1Click(Sender: TObject); var MyList: TStr ...
- [数据库] 数据库中的DDL、DML、DQL、DCL
SQL 程序语言有四种类型,对数据库的基本操作都属于这四种类,也就是标题上显示的 DDL.DML.DQL.DCL. 1. DDL DDL(Data Definition Language 数据定义语言 ...