
多线程
文章平均质量分 89
编程艺术artist
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
守护线程和非守护线程
什么是守护线程,什么是非守护线程> Java有两种Thread:“守护线程Daemon”(守护线程)与“用户线程User”(非守护线程)。 用户线程:非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程,Java虚拟机在它所有非守护线程已经离开后自动离开。 守护线程:守护线程则是用来服务用户线程的,比如说GC线程。如果没有其他用户线程在运行,那么就没有可服务原创 2017-08-16 11:57:24 · 377 阅读 · 0 评论 -
关键字volatile
volatile: 1 主要作用:(1)是使变量在多个线程间可见 (2)强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值; 2 缺点:(1)最致命的是不支持原子性 3 volatile与synchronized的区别:(1)volatile是线程同步的轻量级实现,性能肯定比synchronized好,只能修饰变量,而syschronized可以修饰方法,代码块 (2)多线原创 2017-08-14 00:27:00 · 166 阅读 · 0 评论 -
ThreadLocal原理
1.概述 ThreadLocal为我们解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名ThreadLocalVariable更容易让人理解一些。 当使用Th原创 2017-08-14 12:39:50 · 142 阅读 · 0 评论 -
线程的状态
线程从创建、运行到结束总是处于下面五个状态之一:新建状态、就绪状态、运行状态、阻塞状态及死亡状态。 1.新建状态(New): 当用new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。 当一个线程处于新生状态时,程序还没有开始运行线程中的代码 2.就绪状态(Runnable)原创 2017-08-15 14:59:38 · 157 阅读 · 0 评论 -
java线程通信
Java 里如何实现线程间通信? 发表于 2017-04-09 | 分类于 深入理解Java技术 | 本文总阅读量6299次 | 2,894 字 正常情况下,每个子线程完成各自的任务就可以结束了。不过有的时候,我们希望多个线程协同工作来完成某个任务,这时就涉及到了线程间通信了。 wingjay 首页转载 2017-08-28 20:10:33 · 364 阅读 · 0 评论 -
理解threadLocal
ThreadLocal是什么 早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。 ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它原创 2017-09-27 17:50:35 · 143 阅读 · 0 评论 -
AQS原理剖析
1、引言 在JDK1.5之前,一般是靠synchronized关键字来实现线程对共享变量的互斥访问。synchronized是在字节码上加指令,依赖于底层操作系统的Mutex Lock实现。 而从JDK1.5以后Java界的一位大神—— Doug Lea 开发了AbstractQueuedSynchronizer(AQS)组件,使用原生java代码实现了synchronized语义原创 2017-09-02 20:11:14 · 455 阅读 · 1 评论