JAVA多线程
fanshaohua860402
这个作者很懒,什么都没留下…
展开
-
JAVA中断线程Thread.interrupt()
多线程编程中我们经常会遇到一个问题,怎样中断一个线程? Thread 类提供了三种方法: interrupt : 中断线程 isInterrupted ; 返回线程的中断状态. interrupted ; 读取并清除中断状态. Thread.interrupt().字面上意思是中断线程。实际上它只是将线程状态置为中断状态,并不会直接中断线程。 Java 中断作为一种协作...原创 2015-06-14 15:26:08 · 155 阅读 · 0 评论 -
JAVA中CountDownLatch(闭锁)
CountDownLatch(闭锁): 顾明思议,一种计数器减少的闭锁。工作原理就想是红绿灯,当红灯亮的时候所有车辆都要等待,它们都在等待一个状态---绿灯。当绿灯时候所有车辆都可以通过。 CountDownLatch 最常见的用法:初始化一个整数的计数。它的countDown()方法用来对计数器做减法操作。当计数器为零时,所有等待的线程都可以通过。 下面我们来看下CountDownLatch...原创 2015-06-14 20:59:39 · 111 阅读 · 0 评论 -
JAVA中FutureTask
在多线程的编程中你是否也为不知道其他线程是否已经结束、得不到其他线程的执行结果而苦恼。今天我们来看的FutureTask就解决了这个问题。 FutureTask:一种可以携带结果的Runnable.它的计算是通过Callable的call方法来实现的。 我们来看一下FutureTask的构造. public class FutureTask implements RunnableFuture...原创 2015-06-15 20:15:00 · 109 阅读 · 0 评论 -
JAVA中Semaphore(信号量)
Semaphore :一种可以控制访问资源的数量、或者控制同时同一操作的数量。 Semaphore构造器: public Semaphore(int permits) 需要传入一个正整数,此数量即为控制访问的资源数量。 public Semaphore(int permits, boolean fair) 创建一个是否是公平的信号量。当fair=true 时,线程将会按到达的顺序(FIFO...原创 2015-06-16 13:45:48 · 114 阅读 · 0 评论 -
JAVA中CyclicBarrier(关卡)
CyclicBarrier 类似于我们前面看到的CountDownLatch.但是有以下两点不同: 1:CountDownLatch 是当状态达到后即当计数器为零,所有线程通过后CountDownLatch不可再用。而CyclicBarrier 可以当状态达到后,所有线程通过后即可重复使用。 2:CountDownLatch 等待的是事件。CyclicBarrier 等待的是线程. 这里解释...原创 2015-06-27 15:26:43 · 118 阅读 · 0 评论