JUC
文章平均质量分 86
并发编程
weixin_52717390
这个作者很懒,什么都没留下…
展开
-
JUC-ThreadLocal
事实上,在ThreadLocalMap中的set/getEntry方法中,会对key为null(也即是ThreadLocal为null)进行判断,如果为null的话,那么是会对value置为null的。使用弱引用,如果当前线程仍然在运行,但是ThreadLocalMap的key被垃圾回收了,value永远不会被访问到了,导致value内存泄漏。用于关联线程和线程上下文。4.对于不同的线程,每次获取副本值时,别的线程并不能获取到当前线程的副本值,形成了副本的隔离,互不干扰。内存泄漏的堆积终将导致内存溢出。原创 2024-08-09 09:34:44 · 879 阅读 · 0 评论 -
JUC-线程基础篇
在Java线程中,通过一个整型成员变量priority来控制优先级,优先级的范围从1~10,在线程构建的时候可以通过setPriority(int)方法来修改优先级,默认优先级是5,优先级高的线程分配时间片的数量要多于优先级低的线程。, 中断好比其他线程对该线程打了个招呼,“A,你要中断了”,不代表线程A会立即停止自己的工作,同样的A线程完全可以不理会这种中断请求。,中断线程,如果被中断线程正在 sleep,wait,join 会导致被中断的线程抛出 InterruptedException,原创 2024-08-07 22:49:56 · 542 阅读 · 0 评论 -
JUC-Future&CompletableFuture
thenApply方法中的函数返回一个值,这个值成为新的CompletableFuture的结果。,这个新实例的结果要么是原CompletableFuture的正常结果(如果原CompletableFuture正常完成),要么是通过fn函数处理异常后返回的值(如果原CompletableFuture因异常而失败)。thenCompose方法中的函数返回一个新的CompletableFuture,这个CompletableFuture的结果成为新的CompletableFuture的结果。原创 2024-08-08 17:15:53 · 852 阅读 · 0 评论