![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java并发编程实战
nupt_kwz
学习ing
展开
-
Completablefuture用法总结
Future接口有一定的局限性,比如,我们很难表述Future结果之间的依赖性,因此在Java8中引入了CompletableFuture,它针对Future做了改进,可以传入回调对象,当异步任务完成或者发生异常时,自动调用回调对象的回调方法。原创 2018-10-22 00:13:55 · 286 阅读 · 0 评论 -
ThreadLocal的使用以及源码分析
文章目录ThreadLocal的基本使用常用方法例子线程之间的变量非独立线程之间的变量相互独立当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时候,都要用到共享数据,所以就需要线程封闭出场了。本文中的ThreadLocal就起到了线程封闭的作用。它提供了线程内的局部变量,不同线程之间不会相互干扰,这种变量在线程的生命周期内起作用,减少了同一个线程内多个函数或组件之间一些公共变量传递的复杂度。通俗的说ThreadLocal具备三个特性:线程并发: 在多线程并发的场景下使用传递数据:原创 2020-06-04 21:08:03 · 307 阅读 · 0 评论 -
Java高并发解决思路与手段
同时拥有两个或者多个线程,如果程序在单核处理器上运行,多个线程将交替的换入或者换出内存,这些线程是同时"存在"的,每个线程都处于执行过程中的某个状态,如果运行在多核处理器上,此时,程序中的每个线程都将分配到一个处理器核上,因此,可以同时运行。并发情况的关注点在多个线程操作相同的资源时,如何保证线程安全,合理使用和分配资源!原创 2019-12-19 21:57:12 · 257 阅读 · 0 评论 -
Java判断线程是否是停止状态的两种方法
Tread类中提供了两种方法来判断线程的状态是不是停止的。this.interrupted():测试当前线程是否已经中断。this.isInterrupted():测试线程是否已经中断。1)interrupted()方法: interrupted()方法是静态的方法,方法返回值为boolean型,调用该方法的线程的状态为将被置为"中断"状态。下面用两个例子来说明它原创 2017-03-22 10:59:41 · 12486 阅读 · 1 评论 -
Java多线程实战
实习的时候发现多线程方面知识比较薄弱,这段时间在学习汪文君老师的《Java高并发编程实战》,并做一些学习笔记,供以后复习。 我们在单线程情况下执行两个方法,默认是按照顺序执行的,如下面的读写数据库操作:public class TryConcurrency1 { public static void main(String[] args) { readFro原创 2017-07-11 13:42:15 · 365 阅读 · 0 评论 -
线程安全型与非安全型的数值序列生成器
线程安全性可能是非常复杂的,在没有充足同步的情况下,多个线程中的操作执行顺序是不看预测的,甚至会产生奇怪的效果。package com.aj.UnsafeAndSafeSequence;public class UnsafeSequence { private int value; //返回一个唯一的数值 public int getNext(){原创 2017-11-19 21:44:12 · 398 阅读 · 0 评论