当前位置: 首页 > article >正文

多 线 程

一.基本知识

线程:线程是操作系统能够运行调度的最小单位

进程:进程是程序执行实体

多线程应用场景:拷贝、迁移大文件,加载大量的资源文件

并发:有多个指令在单个cpu上交替执行

并行:在同一时刻人,有多个指令在多个cpu上同时执行

二.实现方式

1.继承Thread类的方式实现

public class test extends Thread{
    @Override
    public void run() {
        ...
    }
}

2.实现Runnable接口的方式进行实现

public class MyRun implements Runnable{
    @Override
    public void run() {
        ...
    }
}

public class text{
    public static void main(String[] args) {
   MyRun m=new MyRun();
   Thread t=new Thread(m);
    t.start();
    }
}

3.利用Callable接口和Future接口方式实现(能够返回结果值)

public class MyCallable implements Callable<Integer> {

    @Override
    public Integer call() throws Exception {
        return 0
    }
}

public class text{
    public static void main(String[] args) throws ExecutionException, InterruptedException {
  MyCallable mc = new MyCallable();
  FutureTask<Integer> ft = new FutureTask<>(mc);
  Thread t=new Thread(ft);
    t.start();
    Integer result=ft.get();
    }
}

三.常见的成员方法

1.能够设置和获取线程名字是因为他们都继承于Object类

而且三种方法在实验类中获取线程的名字方式不同

而且方法也需要重写

2.线程的优先级

优先级越高抢到cpu的概率越高(并非一定能强到执行权)

3.守护线程

直接调用方法并且加true即可设置为守护线程

当其他非守护线程执行完毕后,守护线程也会陆续结束

应用场景:聊天时发送文件,发送文件为守护线程

4.出让线程

表示出让当前cpu的执行权

在run中用thread调用

让线程执行尽可能均匀

5.插入线程

在测试类中调用即可

表示把该线程调用到当前线程之前

三.线程的生命周期


http://www.kler.cn/a/611753.html

相关文章:

  • WPF中的Adorner基础用法详解与实例
  • True strength lies in embracing vulnerability as a gateway to growth.
  • 23种设计模式-责任链(Chain of Responsibility)设计模式
  • AigcPanel v0.8.1 焕新上线:界面升级,新增 Spark - TTS、Fish Speech 模型支持
  • [Effective C++]条款24:若所有参数皆需类型转换,请为此采用non-menber函数
  • 【go微服务】跨语言RPC接口工具--protobuf语法与原理解读以及应用实战
  • [MRCTF2020]套娃
  • 实战 | 基于 SpringBoot + UniApp 打造国际版打车系统:架构设计与性能优化全解析
  • SQL优化 | OceanBase是否遵循最左匹配原则?(三)
  • MDC的原理是什么?
  • 计算机二级(C语言)考试高频考点总汇(二)—— 控制流、函数、数组和指针
  • 向量数据库的适用场景与局限性分析
  • Java爬虫如何解析返回的JSON数据?
  • Dynamic Soft Contrastive Learning for Time Series Anomaly Detection 解读
  • 【2025】基于springboot+uniapp的企业培训打卡小程序设计与实现(源码、万字文档、图文修改、调试答疑)
  • 套接字Socket
  • 算法-深度优先搜索
  • ubuntu单机部署redis集群
  • HarmonyOS NEXT 鸿蒙中关系型数据库@ohos.data.relationalStore API 9+
  • IP 分片重组与 TCP 会话重组