
多线程
顾国玉
这个作者很懒,什么都没留下…
展开
-
Java synchronized多线程互斥技术
了解synchronized的用法,实现线程之间互斥原创 2018-06-08 18:58:30 · 429 阅读 · 0 评论 -
java定时器 实现2秒打印一次,1秒打印一次,循环往复
由于要求隔一段时间执行一次任务,则我们可以想到使用定时器,先介绍下定时器两种常用的方法,最后再写下2秒打印1次,4秒打印1次,然后再2秒打印1次,4秒打印1次,如此循环往复定时器第一种方法代码public static void main(String[] args) { //创建定时器对象 Timer timer = new Timer()...原创 2018-06-01 23:28:48 · 9993 阅读 · 0 评论 -
Java多线程 子线程执行10次,主线程执行100次,接着子线程再10次,主线程再执行100次,往复循环50次
通过本文可以了解到Java多线程的互斥和通信原创 2018-06-10 12:24:13 · 2153 阅读 · 0 评论 -
Java代码解决生产者---消费者问题(两种方法)
本文通过两种方法解决生产者--消费者问题,思想都是通过锁的竞争进行资源的消耗或者生产,如果有疑问或者写的不好的地方可以留言沟通(代码中都作了详细的注释)目录方法一:synchronized, wait, notify 1.1 资源1.2 消费者1.3 生产者1.4 测试代码方法二:lock, condition, await, signal2.1 资源2.2 消...原创 2018-09-11 13:49:23 · 18228 阅读 · 21 评论 -
Java多线程 执行流程(图解源码分析)
多线程的两种创建方式,图解对源码进行分析原创 2018-05-28 00:08:40 · 4783 阅读 · 0 评论 -
Java设计一个高性能缓存模型(两种方法)
本文从线程不安全、线程安全、高性能三个方面一步步优化缓存模型,如果有疑问或者写的不好的地方可以留言沟通1. 缓存模型(线程不安全)import java.util.HashMap;import java.util.Map;public class CacheDemo { //声明一个map,用来作为缓存模型 private static Map<String...原创 2018-09-16 18:09:41 · 5480 阅读 · 7 评论 -
Java三个线程循环打印
先上效果图: 目录资源测试资源这里用了condition执行流程:线程1执行完,让线程2醒来工作;线程2执行完,让线程3醒来工作;线程3执行完,让线程1醒来工作原理(都是按最坏的情况分析):①一开始3个线程抢锁,如果线程2和3抢到锁,会进入等待(因为num=1),并释放锁,此时只有线程1可以拿锁②线程1开始执行,将num=2,并唤醒线程2,此时线程1和...原创 2018-09-19 21:04:24 · 3117 阅读 · 0 评论 -
AQS源码分析(含图解详细流程)
本文围绕reentrantLock源码分析来了解AQS文章目录一 AQS是什么二 ReentrantLock重入锁一 AQS是什么二 ReentrantLock重入锁重入锁的意思就是,线程thread1执行ReentrantLock的lock()方法获取到锁之后且没有释放锁,再次调用lock()方法的时候,不会阻塞,直接增加重入次数,具体的在哪里增加次数,后面源码分析会体现,我们看下下面...原创 2019-06-09 16:26:22 · 9513 阅读 · 12 评论