• 多线程JUC 篇 1.1juc的基本知识


    一 juc基本常识

    1.1 JUC概念

    juc 是java util concurrent 工具包的简写。

    1.2 进程和线程

    进程:正在运行执行任务的一个程序,系统进行资源分配和调度的基本单位。从集合的角度来说,进程是线程的容器。

    线程:它被包含在进程中,是进程中真正执行任务的最小单位,一个进程中可以有多个并发的线程,每天线程执行不同的任务。

    1.3 线程的状态

    1. new 新建态; 2.就绪 runnable 3.运行态 running 4.blocked阻塞态 5.消亡态 stop terminal

    1.4 wait和sleep的区别和联系

    1.sleep是thread类的静态方法;wait是object的方法,可以被任何实例对象进行调用。

    1. sleep它也不需要占用锁(即sleep不需要写到sychronized修饰的代码中),也不会释放锁;wait会且必须当前线程占有锁(即wait需要写到sychronized修饰的代码中),会释放锁。

    相同点: 它们都可以被interrupt方法中断。

    1.5 并发和并行

    并发:同一时刻多个线程任务在执行任务。

    并行:同一时间段内,多个线程在执行任务。

    1.6 管程

    保证了同一时刻只有一个进程在管程内活动,即管程内定义的操作在同一时刻只被一个进程调用(由编译器实现)。

    用户线程:自定义线程; 守护线程:比如说垃圾回收线程。

    用户线程:当任何一个用户线程未结束,Java虚拟机是不会结束的。

    守护线程:如果只剩守护线程未结束,Java虚拟机结束。

  • 相关阅读:
    MySQL 慢查询
    MMLAB系列:mmsegmentation的使用
    5.10如何调度考生的座位
    01. pring Cloud微服务系列之 包版本号约定
    力扣:152. 乘积最大子数组(Python3)
    【Pytorch】多维矩阵的加法
    JDBC编程的六个步骤以及使用示例(详细)
    Springboot整合Redis
    2022-09-28 C++并发编程(二十七)
    Android Studio 常见问题
  • 原文地址:https://blog.csdn.net/u011066470/article/details/126463341