java
北京八角程序员王力宏
这个作者很懒,什么都没留下…
展开
-
volatile关键字学习回顾(1)
最近在学习多线程相关的知识,volatile关键字以前只知道是保证线程间可见,被volatile关键字修饰的变量可以保证线程间及时看到,并没有深入了解过,在此对volatile从硬件层面到jvm层面做出深层次挖掘分析。 volatile的作用 1:volatile的作用是保证共享变量的可见性,不能保证原子性,也不能完全的保证线程安全(why不能保证会在后续给出答案) 2:volatile的作...原创 2019-11-27 14:47:30 · 135 阅读 · 0 评论 -
创建带返回值的线程,使用FutureTask创建线程
大家可能在编写多线程代码时遇到过这种问题,用常用的方法创建线程(如Thread继承和Runable接口)后,若需要线程带返回值,常用的线程创建方法可能就不适用了,这时候就需要使用实现Callable接口来实现线程。 使用FutueTask创建线程的步骤 1:实现Callable接口,实现中的call()方法为创建线程的运行体 2:使用FutueTask的有参构造将Callable接口作为ta...原创 2019-11-19 10:41:12 · 316 阅读 · 0 评论 -
如何在线程内部处理线程中断后的响应(重新中断)
最近在项目中遇到了线程中断得问题,需求如下:需要在线程被中断后及时做出相应,但是不知道线程何时被中断,因为线程中interrupt()方法只会把中断标识设置为false。 查阅资料后发现如下方法,做出分享。 public class RunAbleInterruptTest { public void run() { while (!Thread.currentThr...原创 2019-11-19 09:41:23 · 520 阅读 · 0 评论