一、线程的五种状态: 1、新建状态:线程对象已经创建,还没有在其上调用start()方法 2、可运行状态:当线程有资格运行,但调度程序还没有把它选定为运行线程时线程所处的状态。 当start()方法调用时,线程首先进入可运行状态。在线程运行之后或者从阻塞、等待或睡眠状态回来后,也返回到可运行状态。 ...
分类:
编程语言 时间:
2017-12-03 17:16:28
阅读次数:
148
在Linux中,线程是由进程来实现,线程就是轻量级进程( lightweight process ),因此在Linux中,线程的调度是按照进程的调度方式来进行调度的,也就是说线程是调度单元。Linux这样实现的线程的好处的之一是:线程调度直接使用进程调度就可以了,没必要再搞一个进程内的线程调度器。在 ...
分类:
编程语言 时间:
2017-12-02 15:11:36
阅读次数:
183
概述 ThreadPoolExecutor作为java.util.concurrent包对外提供基础实现,以内部线程池的形式对外提供管理任务执行,线程调度,线程池管理等等服务。 构造参数 corePoolSize 核心线程数。maximumPoolSize 最大线程数。keepAliveTime最大 ...
分类:
编程语言 时间:
2017-11-28 21:52:33
阅读次数:
192
1、Thread.currendThead Thread的静态方法currendThead方法可以用于获取运行当前代码片段的线程。 2、获取线程信息 Thread提供了获取线程信息的相关方法 3、线程优先级 线程切换时由线程调度控制的,我们无法通过代码来干涉,但是我们可以通过提高线程优先级来最大程度 ...
分类:
编程语言 时间:
2017-11-22 00:00:24
阅读次数:
276
2017-11-15 今天闲着没有突然想了想VCPU线程调度的问题,具体描述如下: 当代表VCPU的线程获得控制权后,首先会通过KVM接口进入到内核,从内核进入到非根模式,那么此时站在全局调度器的点上,这并不算做线程的时间,这种情况下调度器还能正常调度VCPU线程吗? 通过查看intel手册,分析相 ...
分类:
编程语言 时间:
2017-11-15 22:13:38
阅读次数:
363
所谓一个数据的线程安全,简单点来说就是这块数据即使有多个线程同时读写,也不会出现数据的错乱,内存的最后状态总是可以预见的,如果这块内存的数据被一个多线程读写之后,出现的结果是不可预见的,那么就可以说这块内存是“线程不安全的” 其实这个状态很容易理解,同一个箱子,有的人在里面放球,有的人从里面拿,如果 ...
分类:
其他好文 时间:
2017-11-06 17:55:56
阅读次数:
229
1、JDK JRE JVM三者的区别 2、谈谈你对GC的认识 3、重写与重载的区别 4、抽象类和接口的区别 5、谈谈你对IO的理解 6、现成和进程的区别!线程的生命周期! 7、谈谈你对线程调度的理解,以及常用的方法,至少3个 8、怎么防止并发操作! 9、什么是反射?说出几个常用的方法,至少3个! .... ...
分类:
编程语言 时间:
2017-10-22 21:44:12
阅读次数:
274
1.GetMaxThreads,GetMinThreads 线程不是越多越好①:线程很多的话,线程调度就越频繁,可能就会出现某个任务执行的时间比线程调度花费的时间短很多的尴尬局面。②:我们要知道一个线程默认占用1M的堆栈空间,如果10230个线程将会占用差不多10G的内存空间,我想普通的电脑立马罢工 ...
分类:
编程语言 时间:
2017-09-19 16:15:09
阅读次数:
252
SmartOS是一个完全由新生命团队设计的嵌入式操作系统,主要应用于智能家居、物联网、工业自动化控制等领域。ARM Cortex-M系列微处理器几乎全都做成单核心,对于业务逻辑较复杂的物联网就显得难以使用,因此SmartOS设计了两个多任务调度系统:1,多线程调度,重量级,逼近PC操作系统多线程用法 ...
分类:
其他好文 时间:
2017-09-03 14:17:10
阅读次数:
149
volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v ...
分类:
编程语言 时间:
2017-08-26 12:44:42
阅读次数:
200