![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发编程学习
小杰要吃蛋
这个作者很懒,什么都没留下…
展开
-
【Java并发编程学习 9】深入锁的概念
深入锁的概念什么是锁理解数据库锁乐观锁悲观锁锁表的方式Java锁的概念重入锁读写锁CAS无锁模式原子类分布式锁什么是锁简单来说锁就是作为并发共享数据,保证一致性的工具。理解数据库锁乐观锁version(版本)方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。(注意:sql语句执行是有原子性的)例子1:五个人抢购...原创 2020-03-24 16:31:42 · 723 阅读 · 0 评论 -
【Java并发编程学习 8】Callable和Future详解
Callable和Future详解Callable和Future什么是CallableCallable和Runnable源码对比Callable如何使用什么是Future三者代码示例:Future常用获取结果方法Callable和Future什么是Callable在Java中,创建线程一般有两种方式,一种是继承Thread类,一种是实现Runnable接口。然而,这两种方式的缺点是在线程任务...原创 2020-03-24 14:49:11 · 904 阅读 · 0 评论 -
【Java并发编程学习 7】深入理解线程池
线程池什么是线程池线程池作用如何实现构建线程池什么是ThreadPoolExecutor什么是Executor线程池四种创建方式代码演示构建线程池的四种方式newCachedThreadPoolnewFixedThreadPoolnewScheduledThreadPoolnewSingleThreadExecutor自定义线程线程池线程池原理剖析如何合理分配线程池大小什么是CPU密集什么是IO密...原创 2020-03-23 19:55:02 · 534 阅读 · 2 评论 -
【Java并发编程学习 6】并发队列学习
并发队列什么是并发队列:消息队列很多人知道:消息队列是分布式系统中重要的组件,是系统与系统直接的通信并发队列是什么:并发队列多个线程以有次序共享数据的重要组件并发队列和并发集合的区别:那就有可能要说了,我们并发集合不是也可以实现多线程之间的数据共享吗,其实也是有区别的:队列遵循“先进先出”的规则,可以想象成排队检票,队列一般用来解决大数据量采集处理和显示的。并发集合就是在多个线...原创 2020-03-23 13:37:01 · 542 阅读 · 0 评论 -
【Java并发编程学习 5】常用的并发包与并发容器学习
常用的并发包学习1 (计数器)CountDownLatch1.1 什么是CountDownLatch1.2 CountDownLatch 的原理1.3 CountDownLatch代码示例2 (回环栅栏)CyclicBarrier2.1 CyclicBarrier代码示例3 (信号量)Semaphore3.1 Semaphore代码示例1 (计数器)CountDownLatch1.1 什么是C...原创 2020-03-19 15:22:45 · 337 阅读 · 0 评论 -
【Java并发编程学习 4】多线程之间实现通讯及Lock锁
多线程之间实现通讯1 什么是多线程之间的通讯2 通讯需求及实现2.1 代码实现基本实现2.2 使用synchronized解决线程安全问题2.3 改变需求2.4 wait、notify和方法2.6 修改代码2.7 wait与sleep区别3 Lock锁3.1 Lock写法3.2Lock锁示例代码4 synchronized与Lock的区别1 什么是多线程之间的通讯在并发编程中,我们需要处理两个...原创 2020-03-19 03:10:41 · 392 阅读 · 0 评论 -
【Java并发编程学习 3】理解Java内存模型,多线程之间通信,重排序
Java并发编程学习-31 线程之间如何通信及线程之间如何同步2 Java内存模型3 Volatile3.1 什么是Volatile3.2 代码示例3.3 Volatile特性3.5 volatile 性能4 重排序4.1 什么是重排序4.2 重排序实际执行的指令步骤4.3 重排序遵守的规则4.4 模拟重排序问题代码示例4.5 怎么解决多线程重排序的问题4.6 什么是happens-before原...原创 2020-03-19 02:07:56 · 331 阅读 · 0 评论 -
【Java并发编程学习 2】多线程线程安全问题
什么是线程安全当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。案例:需求现在有100张火车票,有三个窗口同时抢火车票,请使用多线程模拟抢票效果。package com.lijie;public class ThreadTrain implements Runnable { private int...原创 2020-03-18 21:24:20 · 427 阅读 · 0 评论 -
【Java并发编程学习 1】多线程基础学习
多线程基础学习1.线程与进程区别2.多线程应用场景3.多线程创建方式3.1第一种继承Thread类 重写run方法3.2第二种实现Runnable接口,重写run方法3.3使用匿名内部类方式4.使用继承Thread类还是使用实现Runnable接口好呢5.动线程是使用调用start方法还是run方法6.多线程运行状态6.1新建状态6.2就绪状态6.3运行状态6.4阻塞状态6.5死亡状态7.join...原创 2020-03-18 17:22:07 · 351 阅读 · 1 评论