
多线程
manDD_HH
加油,谁不会遇到点挫折呢。
展开
-
runnable和callable区别
runnable和callable区别接口定义:callablepublic interface Callable<V> { V call() throws Exception;}runnablepublic interface Runnable { public abstract void run();}相同点:都是接口,都无法实例化。都可...原创 2020-02-17 11:29:19 · 234 阅读 · 0 评论 -
(二)并发编程之线程池
如果是Executors创建的FixedThreadPool、CachedThreadPool(队列长度为Integer.MAX_VALUE)顺序会改变吗?来看看代码package ThreadPoll;import java.util.concurrent.*;public class Test { public static void main(String[] arg...原创 2020-02-03 15:42:03 · 168 阅读 · 0 评论 -
(一)并发编程之线程池
线程池是什么?为什么要使用线程池?线程池用来管理和控制线程数量。线程是种昂贵的资源,线程的创建、启动、销毁、调度都是需要额外的开销的。线程池的优势:线程的复用。线程的管理。线程数量的控制。第一:降低资源消耗.通过重复利用自己创建的线程降低线程创建和销毁造成的消耗.第二: 提高响应速度.当任务到达时,任务可以不需要等到线程创建就能立即执行.第三: 提高线程的可管理性.线程是稀缺...原创 2020-02-03 13:34:53 · 226 阅读 · 0 评论 -
死锁的条件
死锁的四个必要条件:1,互斥:同一个资源每次只能一个进程使用。2,资源不可抢占:不可抢占其他进程持有的资源。3,循环等待:若干进程互相循环等待资源。4,请求与保持:持有一个资源,又在请求另一个资源,请求不到资源就一直保持这个资源。只要其中一个条件不满足,死锁就不存在。死锁的经典问题,哲学家用餐问题。...原创 2020-02-02 20:49:38 · 163 阅读 · 0 评论 -
死锁,饥饿,活锁
鹬蚌相争:死锁死锁是一种常见的活性故障,如果两个或者更多的线程因相互等待对方而被永远暂停(生命周期为BLOCKED或者WAITING),那么就称这鞋线程产生了死锁。多线程产生死锁的四个必要条件:1、互斥条件:任意时刻一个资源只能给一个进程使用,其他进程若申请一个资源,而该资源被另一进程占有时,则申请者等待直到资源被占有者释放。2、不可剥夺条件:进程所获得的资源在未使用完毕之前,不被其他进...原创 2020-01-31 18:19:45 · 411 阅读 · 0 评论 -
ManagementFactory解析
ManagementFactory解析ManagementFactory是一个为我们提供各种获取JVM信息的工厂类,使用ManagementFactory可以获取大量的运行时JVM信息,比如JVM堆的使用情况,以及GC情况,线程信息等,通过这些数据项我们可以了解正在运行的JVM的情况,以便我们可以做出相应的调整。本文将基于ManagementFactory,介绍如何通过ManagementFac...转载 2020-01-31 17:25:53 · 1311 阅读 · 0 评论 -
java中止运行线程
java线程中止有三种方式:直接使用stop()方法,已经弃用,不建议使用。自定义volatile boolean类型变量作为中止标识。package stop;public class ThreadStop1 { public static class MyThread extends Thread{ private volatile boolean s...原创 2020-01-20 14:07:43 · 181 阅读 · 0 评论