• 多线程的学习01


    什么是线程

    线程是为了解决并发编程引入的机制,线程相比进程来说更轻量。

    创建线程比创建进程——开销更小

    销毁线程比销毁进程——开销更小

    调度线程比调度进程——开销更小

    进程包含线程,同一进程里的若干线程之间,共享着内存资源和文件描述符表

    每个线程被独立调度执行,每个线程都有自己的状态/优先级/上下文/记账信息

    进程是操作系统资源分配的基本单位

    线程是操作系统调度执行的基本单位 

    Thread常见的构造方法

    Thread()                创建线程对象

    Thread(Runnable target)                            使用Runnable对象创建线程对象

    Thread(String name)                                  创建线程对象,并命名

    Thread(Runnable target,String name)        使用Runnable对象创建线程对象,并命名

    把t设置为守护进程/后台进程。此时进程的结束与否和 t 无关了。

    在真正调用start之前,调用t.isAlive就是false.调用start之后,isAlive就是true

    isAlive是在判断,当前系统里面的这个线程是不是针对有了。

    另外,如果内核里线程把run干完了,此时线程销毁。pcb随之释放。但是Thread t 这个对象还不一定被释放,此时 isAlive 也是 false。

     中断一个线程

    中断的意思是:不是让线程立即就停止,而是通知线程,你应该要停止了,是否真的停止,取决于线程这里具体的代码写法。

    1、使用标志位来控制线程是否静止

    2、使用Thread自带的标志位进行判定

     

    interrupt会做两件事

    1、把线程内部的标志为(boolean)给设置为true

    2、如果线程在进行sleep,就会触发异常,把sleep唤醒

    但是sleep在唤醒的时候,还会做一件事,把刚才设置的这个标志位在设置会false(清空了标志位) 

    等待一个线程

    线程是一个随机调度的过程,等待线程,就是在控制两个线程的结束顺序。

  • 相关阅读:
    浅谈智能安全配电装置在老年人建筑中的应用
    CSS盒子模型
    vue柱状图+table表格
    【电子通识】USB接口三大类型图册
    nodejs运行相关问题
    TypeScript核心篇——类(class)-可选参数-存取器-构造函数-静态属性方法-抽象类
    2.6 场效应管放大电路
    [4G/5G/6G专题基础-157]: 无线数据承载DRB与无线信令承载SRB
    什么是“孤岛效应”? ----防孤岛保护装置
    nginx的ip_hash算法
  • 原文地址:https://blog.csdn.net/m0_67247641/article/details/134068171