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

Java 多线程详解(持续更新)

原理

线程生命周期

创建线程

存储变量

线程安全

锁的四维度

创建及配置线程池

原理

CPU工作原理:从内存中取出第一条指令(入口函数)进行执行


进程(Process),内存中的一段区域,含机器指令以及堆栈信息,只能被一个CPU执行

注:可执行程序编译后形成指令并加载到内存


线程,共享进程空间,进程内有多个入口函数,可以被多个CPU同时执行

注:高性能、高并发:进程开启后创建多个线程让所有CPU都忙起来


栈,单栈保存运行时信息;多栈保存运行时信息


线程池:多线程应用形式,创建一批长期存在的线程处理短任务(无需频繁的创建、销毁线程)

当生产者向队列中写入数据后,线程池中的某个线程会被唤醒,调用处理函数


多核使用多线程

单核使用多线程,线程调度,将CPU的时间片在各个线程之间来回分配

线程的生命周期

生命周期,线程的创建到消亡所经历的各状态,根据Thread的内部类State可得状态有:

• 初始状态(New):构建线程

• 可运行状态(RUNNABLE):调用start进入该状态(就绪状态/运行中状态)

• 阻塞状态(BLOCKED):等待 synchronized 锁,持有锁的线程退出同步块,自动唤醒

• 等待状态(WAITING) :主动决定等待,依赖其他线程显式通知

• 终止状态(TERMINATED) :执行结束或者异常终止

创建线程

创建线程的方式:继承Thread类、实现Runnable接口,实现Callable接口。

  1. 继承Thread类

    publicclassThreadDataPro{publicstaticvoidmain
http://www.jsqmd.com/news/606466/

相关文章:

  • 13-教务课程管理系统
  • Linux(Centos 7.6)命令详解:lsof
  • WarcraftHelper终极优化方案:魔兽争霸III完整兼容性修复指南
  • 基于STM32F407与miniMP3库的流式音频解码系统设计与实现
  • Janus-Pro-7B电商场景实战:商品主图智能生成与营销文案创作
  • 内置权重真省心!通用物体识别-ResNet18镜像稳定部署避坑指南
  • Swift 析构过程
  • 小型的自动洗勺机结构设计【三维proe+cad图纸+毕业论文+仿真】
  • FLUX.1-dev-fp8-dit文生图+SDXL_Prompt风格案例:国风文创产品视觉设计全流程
  • Visual Studio Code远程开发:无缝调试云端Pixel Dimension Fissioner
  • AI显微镜-Swin2SR效果展示:AI理解图像内容实现无损4倍放大的作品集
  • 义乌幼小衔接班口碑如何?2026年推荐这些靠谱机构,优质的幼小衔接重德教育显著提升服务 - 品牌推荐师
  • QMCDecode终极指南:3步解锁QQ音乐加密格式,免费实现音乐跨平台播放
  • DeepSeek-R1-Distill-Qwen-1.5B模型体验:数学80+分的1.5B参数小钢炮
  • Z-Image Atelier 中国风水墨画与现代抽象艺术生成效果对比研究
  • Nginx何以征服高性能之巅?深入剖析其架构设计哲学
  • Dify低代码平台对接Phi-3-mini:快速构建企业级AI应用工作流
  • Windows任务栏透明化终极指南:5种视觉方案与智能场景切换
  • Krita AI Diffusion插件全链路技术指南:从故障排查到企业部署
  • 释放系统潜能:DriverStore Explorer驱动清理与优化指南
  • 终极LSTM时间序列预测实战指南:从零基础到专家级的快速入门
  • OBS-Multi-RTMP:多平台直播高效同步解决方案
  • FastAPI日志配置终极指南:如何高效设置和管理应用日志
  • MedGemma-X教学视频生成:自动将AI阅片过程转化为带语音讲解的教学素材
  • OurStreets项目动画架构解析:animation-samples中的地图动画最佳实践
  • Browsershot性能优化终极指南:10个提升截图速度的实用技巧
  • seo外贸优化如何进行跨境电商优化_seo外贸优化如何与品牌建设结合
  • 终极OctoSQL部署指南:从Docker容器化到Kubernetes集群的完整实践
  • Browsershot终极教程:从零开始掌握Chrome无头浏览器
  • 学习通、智慧职教刷课脚本