首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
java学习笔记(十六)——多线程
📅 2026/10/26 1:26:38
✍️ 爱科研究院
👁 阅读 3,247
文章目录创建的三种方法继承Thread类实现Runnable接口实现Callable接口三种创建方式对比Thread常用方法线程安全线程同步同步代码块同步方法Lock锁线程通信(了解)线程池概述创建线程池处理Runnable任务处理Callable任务并发与并行线程的生命周期创建的三种方法继承Thread类继承Thread类重写run方法创建对象对象start启动实现Runnable接口继承Runnable接口重写run方法创建Runnable对象用Thread包裹创建线程对象start启动实现Callable接口这种方式最大的优点可以返回线程执行完毕后的结果。继承Callable接口重写Call方法创建Callable对象用FutureTask包裹用Thread包裹FutureTask对象start启动FutureTask对象get获取返回值三种创建方式对比Thread常用方法线程安全问题描述存在多个线程在同时执行同时访问一个共享资源存在修改该共享资源线程同步加锁让多个线程实现先后依次访问共享资源这样就解决了安全问题。实例方法推荐使用this作为锁对象在银行取钱问题中小红和小明共享一个account对象当小明取钱时小红作为同一个account对象(this),不能取钱保证了相同实例调用方法的互斥不同实例调用方法不互斥静态推荐使用(类名.class)作为锁对象同步代码块对出现问题的核心代码使用synchronized进行加锁每次只能一个线程占锁进入访问同步方法范围上同步代码块锁的范围更小同步方法锁的范围更大。可读性同步方法更好。Lock锁线程通信(了解)线程池概述什么是线程池?线程池就是一个可以复用线程的技术。为什么要使用线程池?用户每发起一个请求后台就需要创建一个新线程来处理下次新任务来了肯定又要创建新线程处理的 而创建新线程的开销是很大的并且请求过多时肯定会产生大量的线程出来这样会严重影响系统的性能。创建线程池ThreadPoolExecutorExecutors大型并发系统环境中使用Executors如果不注意可能会出现系统风险。注意事项:临时队列什么时候开始创建当核心线程在忙并且任务队列已满时什么时候采取abortPolicy?当核心线程在忙并且任务队列已满临时线程也在忙时处理Runnable任务使用ExecutorService的方法voidexecute(Runnable target)处理Callable任务使用ExecutorService的方法Future submit(Callable command)用一个Future对象接收返回的结果并发与并行多线程中并发和并行是同时进行的正在运行的程序软件就是一个独立的进程。线程是属于进程的一个进程中可以同时运行很多个线程。进程中的多个线程其实是并发和并行执行的。并发的含义进程中的线程是由CPU负责调度执行的但CPU能同时处理线程的数量有限为了保证全部线程都能往前执行CPU会轮询为系统的每个线程服务由于CPU切换的速度很快给我们的感觉这些线程在同时执行这就是并发。并行的含义在同一个时刻上同时有多个线程在被CPU调度执行。线程的生命周期NEW,RUNNABLE,BLOCKING,WATING,TIMED_WAITING,TERMINATED
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/26 1:26:38
GTweak 作者怎么联系?3 步走通的社区支持渠道完整教程
2026/10/26 1:21:38
别贪全下!MiniMax H3本地部署只需要拿这几个文件
2026/10/26 1:21:38
xiaozhi-esphome设备YAML配置详解:从EchoEar到Guition P4 7.0的25+硬件适配解析
2026/10/26 5:57:26
PGP加密软件安装包实战:密钥生成、文件签名与验签完整指南
2026/10/26 5:57:26
决策树过拟合全解析:从预剪枝到后剪枝的调参实战
2026/10/26 5:57:26
OpenAI DevDay 2026深度解读:dots、Spaces与GPT-6.1 Sol如何重塑AI工作流
2026/10/26 5:57:26
线性代数教学:行列式争议与几何化教学探索
2026/10/26 5:57:26
大模型编程工具与应用场景全解析
2026/10/26 5:52:26
阿里悟空Agent平台:企业级AI智能体开发与运行解析
2026/10/26 0:01:33
热搜量不是文档频率:先把 BM25 的统计口径分开
2026/10/26 0:01:33
Nested Learning:解决AI灾难性遗忘的分层记忆架构
2026/10/26 0:01:33
企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战
2026/10/25 0:02:11
全国计算机二级C语言真题PDF高效刷题指南
2026/10/26 0:03:29
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/25 0:02:11
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/25 22:15:16
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/23 10:58:39
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/25 12:42:56
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)