一、线程调度(1)调整线程的优先级Java线程有优先级,优先级高的线程会获得较多的执行机会,但是只是抢占cpu使用权的机会增加了,并不意味着就一定先执行。Java线程的优先级用整数来表示,取值范围为:1~10 ,Thread有以下3个静态常量:static int MAX_PRIORITY线程可以具 ...
分类:
编程语言 时间:
2018-04-21 17:39:55
阅读次数:
189
综述:下面写的是我学习java线程时做的一些笔记和查阅的一些资料总结而成。大多以问答的形式出现。 一、什么是线程? 答:线程是一个轻量级的进程,现在操作系统中一个基本的调度单位,而且线程是彼此独立执行的,线程从本质上来说是数据的一次运行活动,是操作系统分配资源和调度的一个单位。java中的线程是运行 ...
分类:
编程语言 时间:
2018-04-21 17:39:14
阅读次数:
151
多线程 进程:每个进程都是独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1-n个线程。(进程是资源分配的最小单位) 线程:是运行在一个单一进程上下文中的逻辑流,由内核进行调度。同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线 ...
分类:
编程语言 时间:
2018-04-17 11:36:03
阅读次数:
183
1、同学说自己博而不精,杂而不纯,可是我啦,既不博,也不杂,所以还有很长的路要走,这条路也不知道啥时候是个尽头,但是我觉得痛苦并快乐着继续前行 转载:https://www.cnblogs.com/wxd0108/p/5479442.html 引 用多线程只有一个目的,那就是更好的利用cpu的资源, ...
分类:
编程语言 时间:
2018-04-15 11:46:56
阅读次数:
210
通过Executor创建线程池 Executor.newFixedTreadPool 内部通过new ThreadPoolExecutor创建线程池 返回一个固定数量的线程池。如果线程池中有空闲线程则直接交给空闲线程执行。如果没有将任务放到队列 Executor.newSingleThreadExe ...
分类:
编程语言 时间:
2018-04-08 00:23:49
阅读次数:
193
java线程分两种:用户线程和daemon线程。daemon线程或进程就是守护线程或者进程,但是java中所说的daemon线程和linux中的daemon是有一点区别的。 linux中的daemon进程实际是指运行在后台提供某种服务的进程,例如cron服务的crond、提供http服务的httpd ...
分类:
编程语言 时间:
2018-04-06 18:34:26
阅读次数:
234
Java线程大总结 原文章地址:一篇很老的专栏,但是现在看起来也感觉深受启发,知识点很多,很多线程特点我没有看,尴尬。但是还是整理了一下排版,转载一下。 操作系统中线程和进程的概念 在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;线程是程序执行的最小单元。 为了实现程序的并发执行引入了进 ...
分类:
编程语言 时间:
2018-04-05 21:06:05
阅读次数:
192
线程池的优点 1、线程是稀缺资源,使用线程池可以减少创建和销毁线程的次数,每个工作线程都可以重复使用。 2、可以根据系统的承受能力,调整线程池中工作线程的数量,防止因为消耗过多内存导致服务器崩溃。 线程池的创建 corePoolSize:线程池核心线程数量 maximumPoolSize:线程池最大 ...
分类:
编程语言 时间:
2018-04-03 17:29:27
阅读次数:
214
Executor框架的两级调度模型 在HotSpot VM的模型中,JAVA线程被一对一映射为本地操作系统线程。JAVA线程启动时会创建一个本地操作系统线程,当JAVA线程终止时,对应的操作系统线程也被销毁回收,而操作系统会调度所有线程并将它们分配给可用的CPU。 在上层,JAVA程序会将应用分解为 ...
分类:
编程语言 时间:
2018-04-03 17:24:07
阅读次数:
118