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

线程与线程池

线程和进程的区别?

进程里包含了线程。

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

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

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

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

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

3.任务分配

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

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

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

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

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

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

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

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

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

相关文章:

  • 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相关问题 第一篇
  • 鸿蒙的一些布局
  • 源码网站怎么做/湖南企业竞价优化公司
  • 网站建设常规自适应/百度极速版免费下载安装
  • 网站是怎么搭建的/如何做电商 个人
  • 网站流量统计实现/微信上如何投放广告
  • 可信赖的坪山网站建设/查权重网站
  • 如何建设简易网站/手机系统流畅神器