多线程的创建与启动

本文详细介绍了如何在Java中通过继承Thread类和重写run方法创建线程,并通过start()方法启动。通过ThreadOne类实例演示了如何并发输出100以内偶数,展示了多线程启动和执行的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多线程的创建与启动

详细说明见于代码中

package com.xiancheng.bean;
/*
* 线程的创建与启动
*
* 大致方法:通过 java.lang.Thread 类来体现
*      补充:Thread类的特性
*           ①每个线程都是通过某个特定的Thread对象的run()方法来操作完成的,
*             经常把run()方法的主体称为线程体
*           ②通过该Thread对象的start()方法来启动这个线程,而非直接调用run()
*
* 多线程的创建(具体方法):
*           (1)方法一:通过继承于Thread的子类来创建
*                      ①创建一个继承于Thread类的子类
*                      ②重写Thread类的run() -->将此线程执行的操作声明在run()中
*                      ③创建Thread类的子类的对象
*                      ④通过此对象调用start()
*           (2)方法二:https://blog.youkuaiyun.com/m0_53777734/article/details/115393633
* */

//遍历100以内(包括100)的所有的偶数
public class MultithreadingTwo {
    public static void main(String[] args) {
//  ③创建Thread类的子类的对象  (a:主线程来创建这个对象)
        ThreadOne t1 = new ThreadOne();
        ThreadOne t2 = new ThreadOne();
//  ④通过此对象调用start()  调用start()方法的作用:
//                                   ①启动当前线程
//                                   ②调用当前线程的run()
//        注意:①不能通过直接调用run()方法的方式启动多线程
//             ②要想启动多个线程,需要创建多个对象,一个对象只能调用一个start()方法
//               即一个对象只能启动一个线程(以下以举出相应例子助于理解)
        t1.start();   // (b:主线程调用start()方法)
        t2.start();   //此处又启动一个线程来输出100以内的所有偶数,
//                      所以代码运行出来之后是两个线程同时执行的结果,
//                      例:(线程一)2,(线程一)4,(线程二)2,(线程一)6,(线程二)4
        System.out.println("我是主线程执行的,嘻嘻嘻");//(c:写在主线程里,这个语句由主线程执行)
    }
}
//  ①创建一个继承于Thread类的子类
class ThreadOne extends Thread{
//  ②重写Thread类的run() -->将此线程执行的操作声明在run()中
    public void run(){    //  (d:for循环在分线程里执行)
        for(int i=1;i<=100;i++){
            if(i%2==0){
                System.out.print(i+" ");
            }
        }
    }

}
//综上:a b c在主线程里执行,d在分线程里执行  =>即多线程

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值