- 博客(4)
- 收藏
- 关注
原创 volatile关键字学习回顾(1)
最近在学习多线程相关的知识,volatile关键字以前只知道是保证线程间可见,被volatile关键字修饰的变量可以保证线程间及时看到,并没有深入了解过,在此对volatile从硬件层面到jvm层面做出深层次挖掘分析。 volatile的作用 1:volatile的作用是保证共享变量的可见性,不能保证原子性,也不能完全的保证线程安全(why不能保证会在后续给出答案) 2:volatile的作...
2019-11-27 14:47:30 118
原创 创建带返回值的线程,使用FutureTask创建线程
大家可能在编写多线程代码时遇到过这种问题,用常用的方法创建线程(如Thread继承和Runable接口)后,若需要线程带返回值,常用的线程创建方法可能就不适用了,这时候就需要使用实现Callable接口来实现线程。 使用FutueTask创建线程的步骤 1:实现Callable接口,实现中的call()方法为创建线程的运行体 2:使用FutueTask的有参构造将Callable接口作为ta...
2019-11-19 10:41:12 275
原创 如何在线程内部处理线程中断后的响应(重新中断)
最近在项目中遇到了线程中断得问题,需求如下:需要在线程被中断后及时做出相应,但是不知道线程何时被中断,因为线程中interrupt()方法只会把中断标识设置为false。 查阅资料后发现如下方法,做出分享。 public class RunAbleInterruptTest { public void run() { while (!Thread.currentThr...
2019-11-19 09:41:23 493
原创 Java线程中interrupted(),isInterrupted(),interrupt()区别。
(1)interrupted()属于Thread的静态方法,第一次调用将会返回目标线程的中断标志,但是会将目标线程设置为false状态,第二次调用会返回false (2)interrupt()方法将线程中断标志设置为true (3)isInterrupted()方法直接返回线程的中断标志,isInterrupted可多次调用而不会改变线程的中断标志 这个面试中常问到,可以记住 ...
2019-11-18 23:21:14 157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人