
JUC并发编程
文章平均质量分 88
https://www.yuque.com/mo_ming/gl7b70/if9oke
无奈朝来寒雨晚来风
林花谢了春红,太匆匆。
无奈朝来寒雨晚来风。
胭脂泪,相留醉,几时重。
自是人生长恨水长东。
展开
-
第十一章 ThreadLocal全面解析
使用 ThreadLocal ,在使用工具类获取数据库连接时,将数据库连接绑定到当前线程,这样service层和dao层都用过工具类获取连接,由于是同一个线程,获取的连接肯定也是同一个连接。多线程进来获取连接由于 ThreadLocal 是线程隔离的,也不会获取到别的线程绑定的连接。原创 2023-04-10 21:55:58 · 747 阅读 · 0 评论 -
第二章 进程和线程的概念
程序的上下文切换:电脑的内存容量是有限的,当我们的某个任务不运行时,其他的线程需要运行,但这时内存容量不够了就需要进行程序上下文的切换,将暂时不运行的程序任务临时存储起来,切换到需要运行的程序任务原创 2023-03-25 15:37:15 · 124 阅读 · 0 评论 -
第三章 Java线程基础知识全面详解
统筹方法,是一种安排工作进程的数学方法。它的实用范围极广泛,在企业管理和基本建设中,以及关系复 杂的科研项目的组织与管理中,都可以应用。怎样应用呢?主要是把工序安排好。比如,想泡壶茶喝。当时的情况是:开水没有;水壶要洗,茶壶、茶杯要洗;火已生了,茶叶也有了。怎么办?● 办法甲:洗好水壶,灌上凉水,放在火上;在等待水开的时间里,洗茶壶、洗茶杯、拿茶叶;等水开了,泡茶喝。● 办法乙:先做好一些准备工作,洗水壶,洗茶壶茶杯,拿茶叶;一切就绪,灌水烧水;原创 2023-03-26 18:34:36 · 705 阅读 · 0 评论 -
第四章 共享模型之 管程 (上)
synchronized 添加在普通方法上锁住的是当前对象,synchronized 添加在静态方法上锁住的是类对象。不加synchronzied 的方法就好比不遵守规则的人,不去老实排队(好比翻窗户进去的)原创 2023-03-28 22:23:40 · 274 阅读 · 0 评论 -
第四章 共享模型之 管程 (下)
log . debug("执行....");try {// 让线程在obj上一直等待下去 } catch(InterruptedException e) {} log . debug("其它代码....");log . debug("执行....");try {// 让线程在obj上一直等待下去 } catch(InterruptedException e) {} log . debug("其它代码....");原创 2023-03-31 12:14:03 · 985 阅读 · 0 评论 -
第五章 共享模型之 内存
主存是所有线程共享信息存贮的位置,而工作内存是每个线程私有的信息存贮的位置。原创 2023-03-31 23:00:54 · 428 阅读 · 0 评论 -
第六章 共享模型之 无锁
AtomicInteger . compareAndSet( ) 方法的工作方式原创 2023-04-01 21:10:36 · 599 阅读 · 0 评论 -
第七章 共享模型之不可变的享元模式
可变的类如果不添加线程安全问题的保护就会出现线程安全问题原创 2023-04-02 17:05:55 · 403 阅读 · 0 评论 -
第八章 并发工具之 自定义线程池
添加策略模式,下方权限给不同的任务自己去实现不同的业务,具体的操作抽象成一个接口,具体的实现由调用者传递过来,具体的实现不写在 ThreadPool 线程池里面1、队列满了就死等 2、满了带超时等待 3、让调用者放弃任务的执行4、让调用者抛出异常 5、让调用者自己创建线程执行任原创 2023-04-04 15:13:33 · 417 阅读 · 0 评论 -
第九章 JUC并发编程
当读操作远远高于写操作时,这时候使用 读写锁 让 读-读 可以并发,提高性能。 类似于数据库中的 select ... from ... lock in share mode原创 2023-04-05 21:42:38 · 540 阅读 · 0 评论 -
第十章 ConcurrentHashMap
以看到实现了懒惰初始化,在构造方法中仅仅计算了 table 的大小,以后在第一次使用时才会真正创建,如果没有往map添加元素不会正在创建相关的内存空间,懒惰初始化原创 2023-04-06 21:47:14 · 680 阅读 · 0 评论