JUC-01 线程的创建和状态转换

news/2024/5/20 9:11:27 标签: 面试, JUC, java多线程, 高并发, java面试题

本次我们主要讲三个问题

  1. 线程是什么?
  2. 线程有哪些状态?各状态间的转换了解吗?
  3. 创建线程的3种方法你都了解吗?

1. 线程是什么?(了解即可)

进程:

进程是一个具有一定独立功能的程序在一个数据集合上依次动态执行的过程。是一个正在执行的程序的实例,包括程序计数器、寄存器和程序变量的当前值等。

线程:

线程是进程中执行运算的最小单位,是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行。

示意图:

2. 线程各状态间的转换了解吗?

这里有哪些状态呢?

初始、等待、超时等待、(运行中、就绪)、终止、阻塞。

状态流转

Sleep: 是简单的线程睡眠。 public static native void sleep(long millis) throws InterruptedException;

Yiled:从CPU上先离开,先让出一下,返回就绪状态。进入等待队列再等调度进行调用,不管后面其他线程能不能抢到;

Join:将其他线程加入进来,等加进来的运行完再运行(sleep再久也没用),一般用来按顺序

wait() 和 notify()是Object类的,等待,通知,不展开。

3.创建线程的3种方法你都了解吗?

1 继承Thread类。

2 实现Runnable

3 创建线程池 ThreadPoolExecutor

使用Callable和Future创建线程。(不展开)

执行结果:

好的,本文也有视频版哦,可以直接在以下平台进行搜索,欢迎大家关注我,持续更新!!


更多 视频 内容请
     1. 抖音       搜索关注 “程序员一棵树”
     2. B 站       搜索关注 “程序员一棵树”
 


http://www.niftyadmin.cn/n/206122.html

相关文章

告别至暗时刻,高端与全系列手机市场前景可期

作者|落笔 近年来,智能手机用户换机周期持续拉长,市场出货量逐年走低,IDC数据显示,2022年全年中国智能手机市场出货量约2.86亿台,同比下降13.2%,创有史以来最大降幅,全球智能手机发展已进入成熟…

【蓝桥杯嵌入式】第十四届蓝桥杯嵌入式省赛(第一场)客观题及详细题解

题1 解析  编码器,具有编码功能的逻辑电路,能将每一个编码输入信号变换为不同的二进制的代码输出,是一个组合逻辑电路。 答案 ABC 题2 解析   减法计数器的计数值到0时,会产生一个重装载值,此处重载后就会变成111…

WAF攻防-信息收集识别被动探针代理池仿指纹白名单

文章目录信息收集常见检测:信息收集常见方法:信息收集-被动扫描-黑暗引擎&三方接口信息收集-工具扫描-Awvs&Xray&Goby内置信息收集常见检测: 1、脚本或工具速度流量快 2、脚本或工具的指纹被识别 3、脚本或工具的检测Payload 信…

项目1login登录页面方案设计

文章目录需求MySQL表实现方案index页面login(注册)sign up(登录)home页面sign out(登出)reset password(重置密码)1. **旧密码密码改密**2. **验证码改密**查询操作记录需求 实现一个登录功能 实现的功能 注册(邮箱注册)登录(邮箱密码)重置密码查看操作记录(登录, 注册, 重置…

STM32F4_窗口看门狗精讲(WWDG)

目录 1. 窗口看门狗WWDG简介 2. 窗口看门狗和独立看门狗的区别 3. WWDG主要特性 4. WWDG功能 4.1 窗口看门狗框图(重要) 4.2 看门狗超时计算 5. WWDG寄存器 5.1 控制寄存器 WWDG_CR 5.2 配置寄存器 WWDG_CFR 5.3 状态寄存器 WWDG_SR 6 库函数配置窗口看门狗(采用中断…

初谈 ChatGPT

引子 最近,小编发现互联网中的大 V 突然都在用 ChatGPT 做宣传:“ChatGPT不会淘汰你,能驾驭ChatGPT的人会淘汰你”、“带领一小部分人先驾驭ChatGPT”。 确实,ChatGPT这个新生事物,如今被视为蒸汽机、电脑、iPhone 般的…

Baumer工业相机堡盟工业相机如何通过BGAPISDK里工具函数来计算工业相机的实时帧率(C++)

Baumer工业相机堡盟工业相机如何通过BGAPISDK里工具函数来计算工业相机的实时帧率(C)Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率计算方式在BufferEvent声明显示FrameID设计显示帧率的函数Baumer工业相机通过BGAPI SDK计算帧率的…

Node.js安装与配置步骤

前言一、安装Node.js1.下载2.安装3.添加环境变量二、验证是否安装成功三、修改模块下载位置1.查看npm默认存放位置2.在 nodejs 安装目录下,创建 “node_global” 和 “node_cache” 两个文件夹3.修改默认文件夹4.测试默认位置是否更改成功四、设置淘宝镜像1.将npm默…