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类的更多相关文章

  1. Java多线程——线程的创建方式

    Java多线程——线程的创建方式 摘要:本文主要学习了线程的创建方式,线程的常用属性和方法,以及线程的几个基本状态. 部分内容来自以下博客: https://www.cnblogs.com/dolph ...

  2. Java:多线程概述与创建方式

    目录 Java:多线程概述与创建方式 进程和线程 并发与并行 多线程的优势 线程的创建和启动 继承Thread类 start()和run() 实现Runnable接口 实现Callable接口 创建方 ...

  3. 面试官:小伙子,说一说Java多线程有哪些创建方式吧

    第一种 继承Thread类 自定义类,继承Thread类,并重写run()方法. class MyThread1 extends Thread { @Override public void run( ...

  4. 多线程-2.线程创建方式和Thread类

    线程的创建方式 1.继承Thread类,重写run方法,示例如下: 1 class PrimeThread extends Thread { 2 long minPrime; 3 PrimeThrea ...

  5. Java学习笔记44(多线程一:Thread类)

    多线程的概念:略 多线程的目的:提高效率 主线程: package demo; //主线程 public class Demo { public static void main(String[] a ...

  6. 【多线程】线程创建方式三:实现callable接口

    线程创建方式三:实现callable接口 代码示例: import org.apache.commons.io.FileUtils; import java.io.File; import java. ...

  7. Java线程的实现/创建方式

    1.继承Thread类: Thread 类本质上是实现了 Runnable 接口的一个实例,代表一个线程的实例. 启动线程的唯一方法就是通过 Thread 类的 start()实例方法. start( ...

  8. java 两种进程创建方式比较

    A extends Thread: 简单 不能再继承其他类了(Java单继承) 同份资源不共享 A implements Runnable:(推荐) 多个线程共享一个目标资源,适合多线程处理同一份资源 ...

  9. Java——四种线程创建方式

    java中创建线程有四种方式,分别是:继承Thread类,重写run方法,然后创建线程对象并调用start方法.实现Runnable接口,实现run方法,然后创建线程对象并传入Runnable实例,再 ...

  10. 【Java】线程的创建方式

    1.继承Thread类方式 这种方式适用于执行特定任务,并且需要获取处理后的数据的场景. 举例:一个用于累加数组内数据的和的线程. public class AdditionThread extend ...

随机推荐

  1. hadoop实践01---hdfs分布式集群搭建与启动

    一.hdfs集群组成结构

  2. 在C#或python中使用xpath解析xml

    记几个笔记 文件后缀不一定要.xml,可以是任意后缀,只要内容是符合xml和格式即可解析出来 文件编码需要是utf-8,python和c#都需要,或者xml文件头有这样一句:<?xml vers ...

  3. 7.1 C/C++ 实现动态数组

    动态数组相比于静态数组具有更大的灵活性,因为其大小可以在运行时根据程序的需要动态地进行分配和调整,而不需要在编译时就确定数组的大小.这使得动态数组非常适合于需要动态添加或删除元素的情况,因为它们可以在 ...

  4. Nmap 扫描并生成HTML报告

    Nmap扫描器,支持生成扫描报告,配合转换模板,可实现自定义转换报告,非常方便. 扫描报告,可以生成如下格式,这是Nmap中自带的格式. nmap -PR -oX lyshark.xml 192.16 ...

  5. Loading进度条

  6. DNS子域委派配置·

    实验介绍:DNS子域委派的作用 子域即为主域下的一个子域名,当一个子域的流量过大时,主域的DNS服务器可以把一个子域的查询授权给一台专门的子域服务器 注意被委派的服务器必须是委派服务器的子域服务器. ...

  7. Flink-启动后无法访问WebUI界面(Flink1.16)

    问题描述 通过./bin/start-cluster.sh启动Flink程序,正常启动后无法通过浏览器访问web UI界面,http://192.168.80.133:8081. 问题原因 Flink ...

  8. HDFS文件目录与LiveNodes 数量关系

  9. Linux学习资料锦集

    Linux  学习资料链接: (1)Linux常见命令及其用法_STM32李逼的博客-CSDN博客 (2)Linux命令了解_STM32李逼的博客-CSDN博客 3)Linux使用编辑器_STM32李 ...

  10. Function与Object

    Function与Object JavaScript中内置了两个顶级对象Function.Object,Object是所有对象的基类,而所有的构造函数同时又是Function对象的实例. Object ...