线程的创建

简介: 线程的创建

线程


创建线程


1.第一步:创建一个子线程继承主线程;


2.第二步:重写主线程中的Run方法;


3.第三步:在主线程中new一个子线程实例,


4.第四部:在main方法中调用子线程的start方法;


常用线程方法

1.currentThread();静态方法,返回执行当前代码的线程


2.getName();获取当前线程的名字;


3.setName();创建当前线程的名字;


4.yeild();释放掉CPU当前线程;


5.join();线程a调用线程b的join(),线程a处于阻塞状态,当线程b执行完成后,.


线程a阻塞状态结束;


6.sleep();给线程休眠时间;


7.currentThread();


代码

Public class Thread{
     public static void main(String[] args){
       HelloThread h1 = new HelloThread1(name:"Thread":1);
         h1.start;
         //s1.getName("主线程");
       for (int i<0; i<100; i++){
            if(i%2 !==0) {
                System.out.println(Thread.currentThread().getName() + ":" +i);
     }
           if(i==20){
               try{
                   h1.join();
               }catch(InterruptedException e){
                   e.printStackTrace;
               }
           }
}
class MyThread extends Thread{
    @Override
    public void run(){
        for (int i<0; i<100; i++){
            if(i%2 ==0) {
                System.out.println(Thread.currentThread().getName() + ":" + i);
            }
        }
    }
    public HelloThread(String name){
        super(name)
    }
}
   =====================================================================      
         //class Thread {
    public Thread(String name) {
    }
    public static  void main(String[] args) {
        HelloThread h1 = new HelloThread();
        h1.start();
        //s1.getName("主线程");
        for (int i=0;i< 100;i++){
            if (i % 2 != 0) {
                System.out.println(Thread.currentThread().getName() + ":" + i);
            }
            if (i == 20) {
                try {
                    h1.join();
                } catch (InterruptedException e) {
                    e.printStackTrace;
                }
            }
        }
        class HelloThread extends Thread {
            public void run() {
                for (int i=0; i< 100;i++){
                    if (i % 2 == 0) {
                        System.out.println(HelloThread.currentThread().getName() + ":" + i);
                    }
                }
            }
            public HelloThread(String name) {
                super(name);
            }
        }
    }
}
相关文章
|
SQL 开发框架 Java
互联网医院在线问诊系统的设计与实现(论文+源码)_kaic
互联网医院在线问诊系统的设计与实现(论文+源码)_kaic
|
Android开发 容器
Android UI设计: 什么是View和ViewGroup?
Android UI设计: 什么是View和ViewGroup?
545 0
|
监控 安全 API
什么是 API?
API 即应用程序编程接口(Application Programming Interface),它是一组定义了软件组件之间如何交互的规则和协议。可以将 API 想象成一个服务的 “窗口”,通过这个窗口,不同的软件程序可以相互通信、共享数据和功能。 例如,当你使用手机上的天气应用时,这个应用可能会通过调用气象部门提供的 API 来获取实时的天气数据。
10619 12
|
存储 供应链 安全
区块链技术防止交易被篡改的能力主要依赖于其独特的架构和机制
**区块链技术通过分布式存储、去中心化网络、哈希链接、共识机制及加密算法确保交易防篡改。每个区块含前块哈希,篡改将破坏链式结构;共识机制如PoW、PoS保证交易验证;智能合约增强安全性。多层防护保障数据完整性和安全性,支撑其在多个行业中的应用。**
|
Python
Python 设置环境变量方法
Python 设置环境变量方法
377 0
【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型
ARMAX模型相比ARMA考虑了影响因素 ,即可以实现基于时间序列数据的回归预测。目前,ARMAX预测未来功能存在困难,本篇文章不予介绍。大致思路需要通过时间滞后构造数据,使前时间段的X预测后时间段的Y,即多步预测。此示例展示如何将时间序列中的时间划分为预采样期T0、训练期Ty和预测期Tf,并显示了如何提供适当数量的观测值来初始化用于估计和预测的动态模型。通过定义ARMA模型中的参数,可实现ARIMAX和SARIMAX模型。本文介绍最基础的ARMAX模型。
【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型
|
架构师 测试技术 uml
我懂了,原来这就是4+1架构模型!
我懂了,原来这就是4+1架构模型!
7090 0
|
数据采集 机器学习/深度学习 编解码
图像超分实验:SRCNN/FSRCNN
【摘要】 图像超分即超分辨率,将图像从模糊的状态变清晰。本文对BSDS500数据集进行超分实验。
705 1
图像超分实验:SRCNN/FSRCNN
|
NoSQL Java MongoDB
hutool生成唯一Id工具1
hutool生成唯一Id工具1
|
C++ Windows
Windows开发环境的准备(VS 2022下载)
Windows开发环境的准备(VS 2022下载)
343 0
Windows开发环境的准备(VS 2022下载)