当前位置: 首页 > 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.xdnf.cn/news/1326457.html

相关文章:

  • ios使用saveVideoToPhotosAlbum 保存视频失败提示 invalid video
  • oracle官网下载jdk历史版本,jdk历史版本下载
  • 小程序开发APP
  • 应用控制技术、内容审计技术、AAA服务器技术
  • STL——string的使用(快速入门详细)
  • 可靠性测试:软件稳定性的守护者
  • Flink Stream API - 源码二开详细实现
  • 低延迟、跨平台与可控性:直播SDK的模块化价值解析
  • 基于 PyTorch 模型训练优化、FastAPI 跨域配置与 Vue 响应式交互的手写数字识别
  • 微服务架构的演进:从 Spring Cloud Netflix 到云原生新生态
  • 如何在 uBlock Origin 中忽略指定网站的某一个拦截规则
  • 数字孪生 :提高制造生产力的智能方法
  • 当宠物机器人装上「第六感」:Deepoc 具身智能如何重构宠物机器人照看逻辑
  • 常见的软件图片缩放,算法如何选择?
  • 当机器猫遇上具身智能:一款能读懂宠物心思的AI守护者
  • ISIS高级特性
  • 驱动开发系列66 - glCompileShader实现 - GLSL中添加内置函数
  • MySQL练习题50题(附带详细教程)
  • 【GNSS定位原理及算法杂记5】​​​​PPK(后处理动态定位)深度解析:后处理的艺术与 RTK 的互补
  • ListBoxes使得在专为灵活性和易用性设计
  • GaussDB 中 alter default privileges 的使用示例
  • 从数据表到退磁:Ansys Maxwell中N48磁体磁化指南
  • GaussDB 八种常规锁介绍
  • MoonBit Perals Vol.06: Moonbit 与 LLVM 共舞 (上):编译前端实现
  • CloudDM 新增支持 GaussDB 与 openGauss:国产数据库管理更高效
  • wx小游戏canvas能力封装
  • 推理还是训练 || KV缓存和CoT技术
  • 云原生堡垒机渗透测试场景
  • 应急响应常见命令
  • 代码随想录刷题——字符串篇(七)