多线程
Apus melba
这个作者很懒,什么都没留下…
展开
-
学习线程池(一)-初识线程池
初识线程池 1、概述线程池是一种多线程处理形式,处理过程中将任务提交到线程池,任务的执行交由线程池来管理。Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。2、好处1)降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。2)提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。3)提高线程的...原创 2019-01-10 23:15:31 · 114 阅读 · 0 评论 -
学习线程池(二)-线程池原理剖析
线程池的执行流程执行流程图任务流程:1、判断线程池里的核心线程是否都在执行任务,如果不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则进入下个流程;2、线程池判断工作队列是否已满,如果工作队列没有满,则将新提交的任务存储在这个工作队列里。如果工作队列满了,则进入下个流程;3、判断线程池里的线程是否都处于工作状态,如...原创 2019-01-12 15:14:40 · 164 阅读 · 0 评论 -
学习线程池(三)-合理配置线程池
分析的角度任务的性质1)CPU密集型任务CPU密集的意思是该任务需要大量的运算,而没有阻塞,CPU一直全速运行。CPU密集任务只有在真正的多核CPU上才可能得到加速(通过多线程),而在单核CPU上,无论你开几个模拟的多线程,该任务都不可能得到加速,因为CPU总的运算能力就那些。建议:配置尽可能少的线程数量,如配置Ncpu+1个线程的线程池。2)IO密集型任务IO密集型,即...原创 2019-01-12 15:41:43 · 165 阅读 · 0 评论 -
多线程入门(一)
1、进程与线程 定义:进程:是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统构成的基础。每个正在系统中运行的程序都是一个进程。线程:线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。区别:1、进程是所有线...原创 2019-01-10 12:50:37 · 180 阅读 · 0 评论