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

线程与线程池

线程和进程的区别?

进程里包含了线程。

进程是一个程序的执行过程,操作系统用来分配资源的;线程 它是最小的执行单位;

前者用来分配资源 后者则强调执行。

线程池中提交一个任务的流程是怎样的?

1.初始化线程池:设置核心线程数、最大线程数、任务队列等参数。

2.提交任务:用户通过 submit()execute() 方法提交任务。

3.任务分配

  • 如果有空闲线程,任务会被分配给空闲线程执行。

  • 如果没有空闲线程且队列未满,任务会被放入队列等待。

  • 如果队列已满且线程数小于最大线程数,线程池会创建新线程来处理任务。

  • 如果队列已满且线程数已达到最大线程数,线程池会根据拒绝策略处理新任务。

4.任务执行:线程从任务队列中取出任务并执行。

5.线程复用:线程执行完任务后,返回线程池等待新任务。

6.关闭线程池:通过 shutdown()shutdownNow() 方法关闭线程池。

  • shutdown():等待已提交任务完成

  • shutdownNow() :立即中断所有线程,返回未执行的任务列表。

http://www.dtcms.com/a/239285.html

相关文章:

  • Pandas-如何正确将两张数据表进行合并
  • 碳排放智能分析与优化系统:工业减排的革命性突破
  • 高保真组件库:下拉框
  • 面试实例题
  • 【P2P】低延迟直播(尤其是 P2P 实时分发)常用的 x264 编码参数示例
  • 小游戏不能玩了?最好用flash扩展程序
  • 计算机网络笔记(三十)——5.2用户数据报协议UDP
  • 什么是贫血模式
  • FastAPI实战起步:从Python环境到你的第一个“Hello World”API接口
  • 哈希map中不能将数组作为键的原因 leetcode49
  • JavaScript 内置对象全解析
  • TM中,return new TransactionManagerImpl(raf, fc);为什么返回是new了一个新的实例
  • 《从函数模板到类模板:OP泛型编程进化论》
  • Python项目的构建和部署方案推荐
  • QTreeWidget 应用场景与用法详解
  • Docker部署SpringBoot项目
  • 6月8日python-AI代码
  • 面向对象之 继承中的成员访问特点
  • TCP相关问题 第一篇
  • 鸿蒙的一些布局
  • 深入剖析JVM垃圾回收,高并发场景JVM性能调优,内存泄露分析,以及如何避免OOM
  • 8个AI软件介绍及其工作原理讲解
  • Day 21
  • Hilt在android项目中使用的注解说明
  • MS8911S/8921S/8922M/8931S 是一款具有内部迟滞的高速比较器
  • MCP是啥?技术原理是什么?Windows系统配置MCP,Cursor使用MCP
  • Selenium4+Python的web自动化测试框架
  • 职位竞聘BA商业推理测评管理人员TAS倍智题库天翼云益丰等企业
  • 轻量级数学竖式训练方案解析
  • 并发和并行