一.进程和线程的区别: 进程:当前计算机正在运行的程序,进程是cpu分配资源的基本单位,一个进程至少有一个线程。 线程: 计算机中任务调度和最小的执行单元,一个线程也被称为轻量级进程。 Java多线程:在单个程序运作的过程中同时运作多个线程,完成不同的工作,称为多线程。 引入线程的好处:Java虚拟 ...
分类:
编程语言 时间:
2018-10-16 01:42:46
阅读次数:
219
一.什么是多线程 在说线程之前,我们先简单说一下什么是进程。进程就是当前计算机中正在运行的程序, 而线程是计算机中最小的的执行单元。 需要注意的是每一个进程中至少包含一个线程。一个进程中一般包含多个线程。 例如我们在电脑中运行一个电脑管家程序,那么正在运行的这个程序(电脑管家)就是一个进程, 而其中 ...
分类:
编程语言 时间:
2018-10-14 23:02:30
阅读次数:
190
两种线程的调度模式: 抢占式调度: 抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制,系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。 协同式调度: 协 ...
分类:
编程语言 时间:
2018-10-14 16:49:06
阅读次数:
125
示例代码: java import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class ThreadPoolTest { public static void main(S ...
分类:
编程语言 时间:
2018-10-14 14:12:45
阅读次数:
132
一.currentThread()方法 currentThread方法就是返回当前被调用的线程。 该方法为一个本地方法,原码如下: 可以看出他返回的是一个线程对象。 下面来看一个列子: 结果如下: 除了run方法是在一个被自动取名为Thread-0的线程中其他的两个都在main方法中。 但是我们不使 ...
分类:
编程语言 时间:
2018-10-13 16:48:36
阅读次数:
141
java多线程编程中,存在很多线程安全问题,至于什么是线程安全呢,给出一个通俗易懂的概念还是蛮难的,如同《java并发编程实践》中所说: 写道 给线程安全下定义比较困难。存在很多种定义,如:“一个类在可以被多个线程安全调用时就是线程安全的”。 此处不赘述了,首先给出静态变量、实例变量、局部变量在多线 ...
分类:
编程语言 时间:
2018-10-13 14:37:22
阅读次数:
174
start()和run是Thread类里面的两个方法。 学过的都知道,我们创建了一个线程类,通过调用start()方法来启动线程,并且该线程会执行内部的run()方法,那么我们可以直接调用run()方法吗。 答案显而易见,当然是可以啊,可是前后两者还是有本质的区别的。 start()和run() 调 ...
分类:
编程语言 时间:
2018-10-12 17:51:31
阅读次数:
163
线程对象在不同时期有不同的状态,该状态信息存在于Thread.State这个枚举类中 截图自JDK1.8的API 截自《Java多线程编程核心技术》 ...
分类:
编程语言 时间:
2018-10-11 11:28:24
阅读次数:
121
关于Java线程池的参数设置。线程池是Java多线程里开发里的重要内容,使用难度不大,但如何用好就要明白参数的含义和如何去设置。干货里的内容大多是参考别人的,加入了一些知识点的扩充和看法。希望能对多线程开发学习的童鞋有些启发和帮助。 一、Threa 关于Java线程池的参数 关于Java线程池的参数 ...
分类:
编程语言 时间:
2018-10-10 14:12:45
阅读次数:
194
jdk源码中Thread的stop()方法已经被弃用了。那么怎么停止线程的呢? ...
分类:
编程语言 时间:
2018-10-08 23:10:57
阅读次数:
172