随笔分类 -  多线程

摘要:一、synchronized实现 package com.duchong.queue; /** * @author DUCHONG * @since 2020-09-17 18:23 **/ public class SynchronizedDemo { //对象锁 static Object lo 阅读全文
posted @ 2020-10-09 10:34 npe0 阅读(216) 评论(0) 推荐(0) 编辑
摘要:一、死锁产生的四个必要条件 1.1、互斥 即当资源被一个线程使用(占有)时,别的线程不能使用 1.2、不可剥夺 资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。 1.3、请求和保持 即当资源请求者在请求其他的资源的同时保持对原有资源的占有。 1.4、循环等待 即存在一个等待 阅读全文
posted @ 2020-09-05 00:55 npe0 阅读(291) 评论(0) 推荐(0) 编辑
摘要:package com.duchong.concurrent; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Exchanger; /** * Exchanger用于进行线程间的数据交换。 阅读全文
posted @ 2019-09-18 12:52 npe0 阅读(327) 评论(0) 推荐(0) 编辑
摘要:一、CountDownLatchDemo 二、CyclicBarrierDemo 阅读全文
posted @ 2019-09-18 12:41 npe0 阅读(2465) 评论(0) 推荐(0) 编辑
摘要:线程池执行过程 提交一个任务到线程池中,线程池的处理流程如下: 1、判断线程池里的核心线程是否都在执行任务,如果不是(核心线程空闲或者还有核心线程没有被创建)则创建一个新的工作线程来执行任务。如果核心线程都在执行任务,则进入下个流程。 2、线程池判断工作队列是否已满,如果工作队列没有满,则将新提交的 阅读全文
posted @ 2019-07-09 16:46 npe0 阅读(5258) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示