课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
线程与进程问题是程序员在学习java编程开发语言需要重点掌握的编程概念,而今天我们就一起来了解一下,java线程与进程参数类型都有哪些。
1、程序、进程和线程的概念
程序:被存储在磁盘或其他的数据存储设备中的可执行文件,也就是一堆静态的代码。
进程:运行在内存中可执行程序实例
线程:线程是进程的一个实体,是CPU调度和分派的基本单位。
2、线程池的概念
先创建一些线程,他们的集合称为线程池,当服务器接收到一个客户请求后,就从线程池中取出一个空余的线程为之服务,服务完后不关闭线程,而是将线程放回到线程池中。
3、参数介绍
corePoolSize:核心线程数,在线程池中一直存在的线程(对应银行办理业务模型:一开始就开放的窗口)
maximumPoolSize:大线程数,线程池中能创建多的线程数,除了核心线程数以外的几个线程会在线程池的任务队列满了之后创建(对应银行办理业务模型:所有窗口)
keepAliveTime:大线程数的存活时间,当长时间没有任务时,线程池会销毁一部分线程,保留核心线程
unit:时间单位,是三个参数的单位,这两个参数组合成大线程数的存活时间
TimeUnit.DAYS:天
TimeUnit.HOURS:小时
TimeUnit.MINUTES:分
TimeUnit.SECONDS:秒
TimeUnit.MILLISECONDS:毫秒
TimeUnit.MICROSECONDS:微秒
TimeUnit.NANOSECONDS:纳秒
workQueue:等待队列,用于保存在线程池等待的任务(对应银行办理业务模型:等待区)
ArrayBlockingQueue:一个由数组支持的有界阻塞队列。
LinkedBlockingQueue:一个由链表组成的有界阻塞队列。
SynchronousQueue:该阻塞队列不储存任务,直接提交给线程,这样就会形成对于提交的任务,如果有空闲线程,则使用空闲线程来处理,否则新建一个线程来处理任务。
PriorityBlockingQueue:一个带优先级的无界阻塞队列,每次出队都返回优先级高或者低的元素
DelayQueue:一个使用优先级队列实现支持延时获取元素的无界阻塞队列,只有在延迟期满时才能从中提取元素,现实中的使用:淘宝订单业务:下单之后如果三十分钟之内没有付款就自动取消订单。
LinkedTransferQueue:一个由链表结构组成的无界阻塞队列。
LinkedBlockingDeque:一个由链表结构组成的双向阻塞队列。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。