JUC
这个世界太疯狂了
这个作者很懒,什么都没留下…
展开
-
多线程测试案例
测试并发安全问题 测试ThreadLocal 测试一次涌入10条线程请求。 @Controller public class IndexController { private Integer a = 1; private volatile AtomicInteger atomicInteger = new AtomicInteger(); private ThreadLocal<Integer> num = new ThreadLocal<I原创 2022-03-01 14:24:52 · 227 阅读 · 0 评论 -
JUC汇总
JUC目录 文章目录JUC目录1.线程创建2.线程状态3.同步机制4.通信方式5.线程池6.CAS、AQS、BlockingQueue7.辅助类8.并发安全类9.各种锁 未完成… 1.线程创建 3种创建方式 2.线程状态 6种状态 3.同步机制 7种同步机制 4.通信方式 5.线程池 3大方法、4种拒绝策略、7个参数 6.CAS、AQS、BlockingQueue 并发包原理 7.辅助类 3大辅助类 8.并发安全类 9.各种锁 ...原创 2021-04-29 14:23:14 · 266 阅读 · 0 评论 -
ThreadLocal案例
ThreadLocal主要作用: 线程隔离:拷贝共享变量作为线程的独有的副本。 传递数据:service和dao获取同一connection对象。 package com.boot.post.juc; public class Mydemo { ThreadLocal<String> tl = new ThreadLocal<>(); private String content; public String getContent() {原创 2021-04-28 09:07:05 · 282 阅读 · 0 评论 -
CAS测试
使用AtomicInteger源自类进行测试。 public class CasDemo { /** CAS compareAndSet : 比较并交换! CAS 操作包含三个操作数 —— 内存位置(V)、预期原值(A)和新值(B)。 如果V位置的值是A则将值替换为B,如果不是A不需要替换,返回现在的值(B)。 */ public static void main(String[] args) { AtomicInteger atomicInt原创 2021-04-29 10:33:40 · 1074 阅读 · 0 评论 -
JUC并发包实现原理
Volatile和CAS配合 volatile保证了可见性和有序性,但是不能保证原子性。 参考:下面这篇文章 https://blog.csdn.net/liaoxiaolin520/article/details/93711623 CAS比较并替换 参考:下面文章,以及本人写的CAS测试一篇文章。 https://www.cnblogs.com/ibigboy/p/13553400.html https://blog.csdn.net/qq_36582604/article/details/8208原创 2021-04-29 11:05:18 · 81 阅读 · 0 评论