![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
干就完了
洺润
努力学习,未来可期
展开
-
面试必问的Volatile实例解析
1.Volatile是否保证原子性package charter2;/** * @Auther: 洺润Star * @Date: 2020/4/11 11:30 * @Description:测试Volatile是否能保证原子性 */public class TesetVolatileAtomicity { public static volatile int cnt =0...原创 2020-04-11 12:02:42 · 108 阅读 · 0 评论 -
并发编程学习资料推荐: 深入浅出java多线程
资源下载: 链接: https://pan.baidu.com/s/11tdX4QZXIqUZRcdd6uzNww 提取码: 59ja大佬写的很是牛批原创 2020-03-28 10:26:05 · 270 阅读 · 0 评论 -
并发编程专题之Disruptor框架
1. 什么是DisruptorMartin Fowler在自己网站上写了一篇LMAX架构的文章,在文章中他介绍了LMAX是一种新型零售金融交易平台,它能够以很低的延迟产生大量交易。这个系统是建立在JVM平台上,其核心是一个业务逻辑处理器,它能够在一个线程里每秒处理6百万订单。业务逻辑处理器完全是运行在内存中,使`用事件源驱动方式。业务逻辑处理器的核心是Disruptor。Disruptor它是...原创 2020-03-01 11:55:19 · 248 阅读 · 0 评论 -
并发专题之锁的深入化
Java锁的深度化重入锁锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) 。这些已经写好提供的锁为我们开发提供了便利。重入锁,也叫做递归锁,指的是同一线程 外层函数获得锁之后 ,内层递归函数仍然有获取该锁的代码,但不受影响。在JAVA环境下 ReentrantLock 和synchron...原创 2020-02-29 11:06:40 · 213 阅读 · 0 评论 -
并发专题之Callable&Future模式
Callable在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务执行结束后,无法获取执行结果。我们一般只能采用共享变量或共享存储区以及线程通信的方式实现获得任务结果的目的。不过,Java中,也提供了使用Callable和Future来实现获取任务结果的操作。Callable用来执行任务,产生结果,而Future用...原创 2020-02-27 16:20:03 · 118 阅读 · 0 评论 -
并发编程专题之线程池原理分析
1. 并发包(计数器)CountDownLatchCountDownLatch 类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。CountDownLatch是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后...原创 2020-02-26 16:04:44 · 156 阅读 · 1 评论 -
并发编程专题之多线程之间实现通讯
1. 多线程之间如何实现通讯1.1 什么是多线程之间通讯?多线程之间通讯,其实就是多个线程在操作同一个资源,但是操作的动作不同。1.2 多线程之间通讯需求需求:第一个线程写入(input)用户,另一个线程取读取(out)用户.实现读一个,写一个操作。2. 代码实现共享资源源实体类,两个线程将会对类中变量进行读和写操作class Res { public String use...原创 2020-02-23 17:20:06 · 103 阅读 · 0 评论 -
并发编程专题之Java内存模型
1. 什么是线程安全?1.1 为什么有线程安全问题?当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。代码:public class ThreadTrain implements Runnable { private...原创 2020-02-23 11:48:26 · 108 阅读 · 0 评论 -
并发编程专题之多线程基础
1. 线程与进程区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、...转载 2020-02-21 17:11:48 · 129 阅读 · 0 评论