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

Java -- 用户线程和守护线程--线程同步机制

目录

1. 线程方法

2. 用户线程和守护线程

3. 线程的生命周期

4. 线程同步机制


1. 线程方法

1.1 yield:线程的礼让,让出cpu,让其他线程执行,但礼让的时间不确定,所以也不一定礼让成功。

1.2 join:线程的插队。插队的线程一旦插队成功,则肯定先执行完插入的线程所有的任务。


2. 用户线程和守护线程

1. 用户线程:也叫工作线程,当线程的任务执行完成或通知方式结束

2. 守护线程:一般是为工作线程服务的,当所有的用户线程结束,守护线程自动结束

3. 常见的守护线程:垃圾回收机制


3. 线程的生命周期

1. 线程状态

            NEW:尚未启动的线程处于此状态

            RUNNABLE:在java虚拟机中执行的线程

            BLOCKED: 被阻塞等待监视器锁定的线程

            WAITING: 正在等待另一个线程执行特定动作的线程

            TIMED_WAITING : 正在等待另一个线程执行动作达到指定等待时间的线程

            TERMINATED :已退出的线程


4. 线程同步机制

1. 在多线程编制,一些敏感数据不允许被多个线程同时访问,此时就使用同步访问技术,保证数据在任何同一时刻,最多有一个线程访问,以保证数据的完整性

2. 具体方法 - Synchronized

1.1 同步代码块

          synchronized(对象){ //得到对象的锁,才能操作同步代码

                    //需要被同步的代码

}

1.2 synchronized还可以放在方法声明中,表示整个方法-同步为方法  

           public  synchronized void m (String name){

                  //需要被同步的代码

}

http://www.lryc.cn/news/625602.html

相关文章:

  • Java开发过程中实用的技术点(一)
  • LIA-X - 一张照片生成任意表情肖像动画视频 精准操控面部动作 支持50系显卡 一键整合包下载
  • 免费dll修复?缺少xxx.dll?【图文详解】Visual C++运行库安装?无法定位程序输入点于动态链接库?
  • VulKan笔记(九)-着色器
  • 机器学习--决策树2
  • 力扣57:插入区间
  • 决策树二-泰坦尼克号幸存者
  • 决策树(2)
  • FPGA入门-多路选择器
  • 决策树1.1
  • 机器学习(决策树2)
  • Leetcode 深度优先搜索 (7)
  • Python爬虫第二课:爬取HTML静态网页之《某某小说》 小说章节和内容完整版
  • 【LeetCode】3655. 区间乘法查询后的异或 II (差分/商分 + 根号算法)
  • Mybatis执行SQL流程(四)之MyBatis中JDK动态代理
  • 【HTML】3D动态凯旋门
  • Leetcode 343. 整数拆分 动态规划
  • C++入门自学Day14-- Stack和Queue的自实现(适配器)
  • 神经网络中的那些关键设计:从输入输出到参数更新
  • 面试题储备-MQ篇 3-说说你对Kafka的理解
  • 图论\dp 两题
  • 设计模式笔记_行为型_命令模式
  • 【React】事件绑定和组件基础使用
  • 从线性回归到神经网络到自注意力机制 —— 激活函数与参数的演进
  • java基础(十二)redis 日志机制以及常见问题
  • 2025年12大AI测试自动化工具
  • 多模态大模型应用落地:从图文生成到音视频交互的技术选型与实践
  • 【模块系列】STM32W25Q64
  • TDengine IDMP 运维指南(4. 使用 Docker 部署)
  • 第六天~提取Arxml中CAN物理通道信息CANChannel--Physical Channel