J***A课程设计任务分配,j***a课程设计分工

dfnjsfkhak 48 0

大家好,今天小编关注到一个比较意思的话题,就是关于java课程设计任务分配问题,于是小编就整理了1个相关介绍JAVA课程设计任务分配的解答,让我们一起看看吧。

  1. JAVA架构之线程池是怎样工作的?

J***A架构线程池是怎样工作的?

ThreadPool工作原理任务先去核心线程池,如果核心线程池没有则存入到Q中;Q满了去启新的线程(启新线程时会全局锁),不能启的话就返回错误需要了解些,参数使用结合

j***a.util.concurrent包中我们能找到线程池的定义,其中ThreadPoolExecutor是我们线程池核心类,首先看看线程池类的主要参数有哪些。

JAVA课程设计任务分配,java课程设计分工-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

corePoolSize:线程池的核心大小,也可以理解为最小的线程池大小。

maximumPoolSize:最大线程池大小。

keepAliveTime:空余线程存活时间,指的是超过corePoolSize的空余线程达到多长时间才进行销毁。

JAVA课程设计任务分配,java课程设计分工-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

unit:销毁时间单位

workQueue:存储等待执行线程的工作队列

threadFactory:创建线程的工厂一般用默认即可。

JAVA课程设计任务分配,java课程设计分工-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

handler:拒绝策略,当工作队列、线程池全已满时如何拒绝新任务,默认抛出异常

线程池工作流程

1、如果线程池中的线程小于corePoolSize时就会创建新线程直接执行任务。

通俗易懂的给你解释一下,池塘里有很多鱼,我们捞一条上来把玩一番,把玩一段时间后放回池塘里去。这就是线程池的工作原理,只不过这个池塘里放的不是鱼,是一个个线程对象,用到一个就拿一个,用完放回池塘内,而这个池塘在计算机内就是对应在软件内存中了。

到此,以上就是小编对于J***A课程设计任务分配的问题就介绍到这了,希望介绍关于J***A课程设计任务分配的1点解答对大家有用

标签: 线程 任务 池塘