
并发编程
文章平均质量分 88
大树91
这个作者很懒,什么都没留下…
展开
-
synchronized和ReentrantLock的区别的详细解读分析实现方式
synchronized和ReentrantLock的区别synchronized和ReentrantLock是jdk中保证线程安全的两大常用手段,也是两大利器。那他俩有啥区别呢?或者各自的特定和使用场景怎么样的呢?梳理他俩区别要从多个方面来分析,见如下表格。synchronizedReentrantLock实现层面Jvm c++实现Jdk java语言实现是否自动解锁是否是否可重入是是是否公平否公平、非公平可选...原创 2020-10-28 02:29:28 · 284 阅读 · 0 评论 -
两个线程交替打印A1B2C3 ... 的几种实现方式
有以下需求:两个线程,需要打印字母和数字,格式A1B2C3 …这个问题涉及到线程的等待,唤醒,线程间通信等知识。下面看看实现代码:import java.util.concurrent.locks.LockSupport;/** * @author liming * @date 2020/10 * @description 交替打印 A1B2C3 ... */public class AlternatePrint { static Thread t1 = null, t2 =原创 2020-10-13 20:13:30 · 2273 阅读 · 6 评论 -
Java手写锁Lock 实现一个自己的锁
在juc包下有一些工具类(如 LockSupport)可以帮助我们实现一个自己的锁。原创 2020-09-24 17:43:35 · 640 阅读 · 0 评论 -
一个来自一线程序员对Java线程池的理解 手写线程池 带你翻过线程池这座山 升级第二版啦
第一版地址:https://blog.youkuaiyun.com/wandou9527/article/details/107769598第二版对比第一版优化点:线程实现延迟创建,对内存更友好自定义线程池实现java.util.concurrent.Executor 接口,更加符合规范submit方法改为execute方法,语义更贴切加入对任务(command)的非空判断优化后又离完美线程池近了一步。废话不说,我们上代码。package com.wandou.demo.thread.post.th原创 2020-09-17 20:50:01 · 294 阅读 · 2 评论