
并发编程
不忘初心777
When your ability is not enough to support your dream, please go to secure study!
展开
-
多线程之并发编程(三)
在这章节说说线程池,首先线程池在工作中的应用场景很多,几乎只要是线程的异步操作和并发执行任务都会涉及到线程池的使用,下面的我就说说我所认知的线程池。首先是线程池的一些知识1、corePoolSize(核心线程数){线程池核心线程数,默认情况下,核心线程会在线程池中一直存活,即使它们处于闲置状态。如果ThreadPoolExecutor的allowCoreThreadTimeOut属性设置为tr...原创 2018-12-12 22:01:24 · 183 阅读 · 0 评论 -
多线程之并发编程(四)
多线程编程有优势也有风险优势:提高系统的吞吐量、提高响应速度、可以充分利用多核、最小化对系统资源的使。缺点:最主要的线程安全问题、抢锁、上下文的切换导致资源的浪费、可靠性。对于这个可以通过synchronized和lock解决,也可以通过volatile解决,原子性的操作是很重要的。有一点synchronized和volatile还是有点区别的,有人把volatile和synchronize...原创 2018-12-14 23:17:59 · 173 阅读 · 0 评论 -
多线程之并发编程(一)
一、进程首先,进程代表运行中的程序,也就是一个Java程序代表一个进程,也可以理解为是一个应用程序。其次进程包括线程,从开发的角度来看,每一个线程都是进程中可独立执行的子任务。一个进程包含多个线程。二、线程在Java中线程分为两大类:**守护线程** 和 **用户线程**守护线程:当进程不存在或主线程停止,守护线程也会被停止,通常守护线程执行一些重要性不是很高的任务(监视其他线程的运行...原创 2018-12-10 22:39:54 · 186 阅读 · 0 评论 -
多线程之并发编程(二)
多线程的状态:新建状态:线程刚创建而没有执行,由于每个线程只能被实例化一次,所以只可能处于此状态一次。就绪状态:没有调用start方法之前,处于这个状态可以被JVM的线程调度器进行调度而处于运行状态。运行状态:线程run方法中的代码被CPU进行执行,但当线程的实例yield方法被调用或线程调度器原因,可能会从运行状态到就绪状态。阻塞状态:当线程发起一个阻塞式I/O,试图去获取别的线程所拥...原创 2018-12-11 19:29:14 · 193 阅读 · 0 评论