juc
文章平均质量分 85
努力学习,努力爱你!
这个作者很懒,什么都没留下…
展开
-
Java线程池详解
Executor 框架是 Java5 之后引进的,在 Java 5 之后,通过 Executor 来启动线程比使用 Thread 的 start 方法更好,除了更易管理,效率更好(用线程池实现,节约开销)外,还有关键的一点:有助于避免 this 逃逸问题。this 逃逸是指在构造函数返回之前其他线程就持有该对象的引用,调用尚未构造完全的对象的方法。Executor 框架不仅包括了线程池的管理,还提供了线程工厂、队列以及拒绝策略等,Executor 框架让并发编程变得更加简单。原创 2023-09-20 13:44:20 · 69 阅读 · 0 评论 -
JMM(java 内存模型)
JMM(Java 内存模型)主要定义了对于一个共享变量,当另一个线程对这个共享变量执行写操作后,这个线程对这个共享变量的可见性。主内存:所有线程创建的实例对象都存放在主内存中,不管该实例对象是成员变量还是方法中的本地变量(也称局部变量)本地内存:每个线程都有一个私有的本地内存来存储共享变量的副本,并且,每个线程只能访问自己的本地内存,无法访问其他线程的本地内存。本地内存是 JMM 抽象出来的一个概念,存储了主内存中的共享变量副本。锁定(lock): 作用于主内存中的变量,将他标记为一个线程独享变量。原创 2023-09-20 11:32:46 · 88 阅读 · 0 评论 -
乐观锁与悲观锁
悲观锁总会假设最坏的情况,乐观锁总会假设最好的情况。悲观锁和乐观锁最终都是为了保证线程的安全,避免在并发场景下的资源竞争问题,但是,相对于乐观锁,悲观锁对性能的影响更大!原创 2023-09-20 10:38:20 · 376 阅读 · 0 评论 -
Future
Future接口由FutureTask 实现类定义了操作异步任务执行的一些方法,比如异步任务的执行结果、取消任务的执行、判断任务是否被取消、判断任务执行是否完毕等。Future 接口可以为主线程开一个分支任务,专门为主线程处理耗时和费力的业务。FutureTask 这个类支持构造注入,满足三个要求多线程/有返回/异步任务。Future是java5新加的一个借口,提供了一种异步并行计算的功能。目的异步多线程任务执行且返回有结果。三个特点多线程/有返回/异步任务。如有问题,欢迎指正!原创 2023-08-29 20:53:17 · 127 阅读 · 0 评论