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

第一章 线程基础知识复习

第一章 线程基础知识复习

  • 1 把锁:synchronized
  • 2 个并:
    • 并发(concurrent):是在同一实体上的多个事件中,是在一台机器上“同时”处理多个任务,同一时刻,其实是只有一个事情再发生
    • 并行(parallel):是在不同实体上的多个事件,是在多台处理器上同时处理多个任务,同一时刻,大家都在做事情,你做你的,我做我的,各干各的
  • 3 个程:
    • 进程:在系统中运行的一个应用程序,每个进程都有它自己的内存空间和系统资源
    • 线程:也被称为轻量级进程,在同一个进程内会有 1 个或多个线程,是大多数操作系统进行时序调度的基本单元
    • 管程:Monitor(锁),也就是我们平时所说的锁。Monitor 其实是一种同步机制,它的义务是保证(同一时间)只有一个线程可以访问被保护的数据和代码,JVM 中同步是基于进入和退出监视器(Monitor 管程对象)来实现的,每个对象实例都会有一个 Monitor 对象,Monitor 对象和 Java 对象一同创建并销毁,底层由 C++ 实现

线程分类(一般不做特别说明配置,默认都是用户线程):

  • 用户线程:是系统的工作线程,它会完成这个程序需要完成的业务操作
  • 守护线程:是一种特殊的线程为其他线程服务的,在后台默默地完成一些系统性的人物,比如垃圾回收线程就是最典型的例子。守护线程作为一个服务线程,没有服务对象就没有必要继续运行了,如果用户线程全部结束,意味着程序需要完成的业务操作已经结束了,系统可以退出了。所以假如当系统只剩下守护线程的时候,守护线程伴随着 JVM 一同结束工作
public class DaemonDemo {public static void main(String[] args) {Thread t1 = new Thread(() -> {System.out.println(Thread.currentThread().getName() + "\t 开始运行" +(Thread.currentThread().isDaemon() ? "守护线程" : "用户线程"));while (true) {System.out.println("正在运行");}}, "t1");t1.setDaemon(true);t1.start();try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("主线程结束");}}

在 main 主线程结束后,守护线程会伴随着 JVM 一同结束工作,即使还有循环没有结束

http://www.jsqmd.com/news/633333/

相关文章:

  • 用e2fsck修复损坏的Linux ext4文件系统
  • 豆包水印怎么去除?1分钟教程!视频/图片一键搞定(亲测有效)
  • 行业内轻质隔墙板品牌
  • 基于Python的高校毕业生离校管理系统毕业设计
  • Meshroom终极指南:免费开源3D重建软件的快速入门教程
  • 如何快速追溯微博图片来源:Chrome插件终极指南
  • 平衡二叉搜索树的时间复杂度分析:从数学推导到实际应用
  • Ostrakon-VL-8B开源模型:MIT License授权,支持商用及二次开发
  • 2026中石化加油卡最佳回收攻略,这样操作更划算! - 团团收购物卡回收
  • 镜像优化攻略
  • 2026洗养一体洁面全攻略:常天然舒护氨基酸洁面乳领衔,全肤质精准适配 - 资讯焦点
  • Stable Diffusion v1.5 Archive实战:如何用英文提示词获得最佳效果
  • Mac NTFS读写难题终结者:Nigate开源工具实现跨平台文件自由传输
  • Python自动化抢票技术深度解析:从原理到实战的完整指南
  • HEIF转换工具:Windows平台iPhone照片查看的完整解决方案
  • 新手数据处理入门:NumPy+Pandas基础学习与数据清洗实战总结
  • Diablo Edit2:暗黑破坏神II角色存档编辑终极指南
  • GLM-4.1V-9B-Base实战落地:政府公文插图政策要点自动提取与解读
  • SpringCloud快速入门--GateWay路由网关与Config配置中心特
  • 别再手搓测试数据了!我用 Hermes 实现一键铺数,效率提升 25 倍
  • Product Hunt 每日热榜 | 2026-04-12
  • 东北户外铁艺围栏怎么选?3家本地厂家实测数据拆解 - 资讯焦点
  • 从原理到代码:一文搞懂超声成像中的DAS波束合成(Matlab实战+窗函数选择指南)
  • 我为什么开始安利 Hermes Agent:它和 OpenClaw 到底有什么不一样?
  • 银泰百货卡在线变现的最佳方法,这些技巧你知道吗? - 团团收购物卡回收
  • 2026年高性价比聚乙烯板推荐厂家分析,怎么选择更合适 - 工业品网
  • tao-8k Embedding模型入门必看:8K上下文长度对RAG系统的关键提升
  • 移动端架构演进历程
  • MedGemma-X高性能:从HTTP请求到返回JSON结构化报告平均延迟<2.3s
  • Dell G15散热控制系统:WMI接口的Python实现与硬件控制深度解析