Java并发学习专栏
文章平均质量分 92
本专栏主要会从多线程高并发入手,逐步让大家掌握多线程中经常使用的技术,例如:原子类、和volatile、CAS、Java锁机制、阻塞队列,线程池等内容
蘑菇蘑菇不会开花~
认真负责的态度做好眼前的事
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程 | CompletableFutureAPI简单介绍
计算结果的处理:对前面计算结果进行处理,无法返回新值//方法一super T,?//方法二super T,?//方法三super T,?super T,?super U,?extends V> fn参数 => 定义对结果的处理Executor executor参数 => 自定义线程池以async结尾的方法将会在一个新的线程中执行组合操作示例:本次只是介绍CompletableFuture的常用方法介绍,具体还需要结合根据自己业务代码进行使用。原创 2024-09-08 09:00:00 · 811 阅读 · 0 评论 -
多线程 | join方法
如果thread1在执行过程中被中断,它会捕获InterruptedException异常并打印相应的消息,同时再次设置中断标志。当一个线程调用另一个线程的join方法时,当前线程会进入等待状态,直到被调用的线程执行完毕。这使得开发者可以控制线程的执行顺序,确保某些关键线程在其他线程之前完成执行。因此,在使用join方法时,需要仔细考虑线程之间的依赖关系,避免死锁的发生。InterruptedException异常:当一个线程在等待另一个线程执行完毕时,如果被中断,会抛出异常,如下代码。原创 2024-09-07 17:00:00 · 3290 阅读 · 0 评论 -
多线程 | ThreadLocal源码分析
ThreadLocal 是一种特殊的无锁线程安全方式,通过为每个线程分配独立的资源副本,从根本上避免发生资源冲突;ThreadLocal 在所有线程间隔离,InheritableThreadLocal 在创建子线程时会拷贝父线程中 InheritableThreadLocal 的有效键值对;虽然 ThreadLocal 提供了自动清理数据的能力,但是自动清理存在滞后性。为了避免内存泄漏,在业务开发中应该及时调用 remove 清理无效的局部存储;原创 2024-09-07 09:00:00 · 1299 阅读 · 0 评论 -
多线程 | synchronized的简单使用
synchronized 修饰的实例方法,多线程并发访问时,只能有一个线程进入,获得对象内置锁,其他线程阻塞等待,但在此期间线程仍然可以访问其他方法。synchronized 修饰的静态方法,多线程并发访问时,只能有一个线程进入,获得类锁,其他线程阻塞等待,但在此期间线程仍然可以访问其他方法。synchronized 修饰的代码块,多线程并发访问时,只能有一个线程进入,根据括号中的对象或者是类,获得相应的对象内置锁或者是类锁。原创 2024-09-05 16:37:52 · 561 阅读 · 0 评论 -
多线程 | synchronized的底层原理
JVM的同步,是基于进入与退出监视器对象(Monitor)来实现的,也即是管程;每个对象实例都会有个Monitor对象,这是JVM分配的。Monitor对象会和java对象一同创建并销毁。Monitor对象是由C++来实现的。当多个线程同时访问一段同步代码时,这些线程会被放到一个EntryList集合中,处于堵塞状态的线程都会被放到该列表当中(wait方法可查)。原创 2024-09-05 16:55:18 · 1034 阅读 · 0 评论
分享