
Java-Concurrent
文章平均质量分 81
sdw360
这个作者很懒,什么都没留下…
展开
-
Java Concurrent之 java线程中断
中断(Interrupt):java中的每个线程自身都维护这一个boolean型的中断标识(JVM帮我们搞定了),唯有通过Thread.interrupt()方法可以将其置为true,(我们可以通过interrupted()/isInterrupted()方法来判断线程是否处于中断状态,需要注意的是:interrupted()方法会重置线程的中断状态,即将标识置为false),线程遇到中断...原创 2014-12-23 23:24:15 · 130 阅读 · 0 评论 -
Java Concurrent之 AbstractQueuedSynchronizer
ReentrantLock/CountDownLatch/Semaphore/FutureTask/ThreadPoolExecutor的源码中都会包含一个静态的内部类Sync,它继承了AbstractQueuedSynchronizer这个抽象类。 AbstractQueuedSynchronizer是java.util.concurrent包中的核心组件之一,为并发包中的其他s...原创 2014-12-31 21:47:47 · 126 阅读 · 0 评论 -
Java Concurrent之Executor
JDK5-Executor框架 任务是一组逻辑工作单元,而线程则是使任务异步执行的机制。以往我们通常会 将所有的任务交给一个线程,串行执行 缺点:糟糕的吞吐量 和响应速度 将每个任务分配一个线程执行 缺点:资源管理复杂性 线程的频繁建立与销毁过于销毁资源 为了能够更好地控制多线程,JDK5之后提供了(java.util.concurrent)一种灵活的线程池实现作为Executor...原创 2015-01-03 20:07:05 · 205 阅读 · 0 评论 -
转 JAVA并发编程学习笔记之CLH队列锁
NUMA与SMP SMP(Symmetric Multi-Processor),即对称多处理器结构,指服务器中多个CPU对称工作,每个CPU访问内存地址所需时间相同。其主要特征是共享,包含对CPU,内存,I/O等进行共享。SMP的优点是能够保证内存一致性,缺点是这些共享的资源很可能成为性能瓶颈,随着CPU数量的增加,每个CPU都要访问相同的内存资源,可能导致内存访问冲突,可能会导致CPU资源...原创 2015-01-15 16:24:59 · 95 阅读 · 0 评论 -
Java Concurrent之 ThreadLocal
之前的ThreadLocal的实现方式是声明一个HashTable,以Thread.currentThread()为key,变量的拷贝为value。而现在ThreadLocal的实现方式有点儿改头换面了。 public class ThreadLocal<T> { /** * ThreadLocals rely on per-thread l...原创 2014-11-11 15:00:43 · 155 阅读 · 0 评论 -
Java Concurrent之Thread
今天看着看着源码,突然发现Thread的一些概念 觉得那么的陌生。。。囧rz....所以特意整理一下 以备不时之需。 其实线程也就是我们计算机中正在执行程序(进程)的某个单一顺序的控制流。线程不仅可以共享进程的内存空间,而且也拥有自己的工作内存(即系统分配的线程栈空间)。 对于我们的java程序,总是会有一个默认的主线程,当JVM加载java程序时发现main方法,就会启动...原创 2014-11-12 23:30:40 · 255 阅读 · 0 评论 -
Java Concurrent之 java自带monitor机制
java自带的monitor机制,其实是一种解决同步的机制。 当遇到并发情况时,多个线程同时访问一个对象,那么我们为了数据的一致性,只能给其中的一个线程发放通行证(我们姑且将monitor描述成一个对象,线程获取通行证其实等价于线程获得这个monitor对象,当该线程执行完它的工作需要将monitor对象归还 然后其他等待的线程则有机会获得monitor对象 执行自己的逻辑,那么...原创 2014-11-20 21:43:35 · 221 阅读 · 0 评论