java
文章平均质量分 65
liangjianyong007
这个作者很懒,什么都没留下…
展开
-
JAVA多线程之(Interrupt)
interrupt,顾名思义,即中断的意思。单独调用interrupt方法可以使得处于阻塞状态的线程抛出一个异常, 也就说,它可以用来中断一个正处于阻塞状态的线程;另外,通过interrupt方法和isInterrupted()方法来停止正在运行的线程。具体参照实例: package nc.com.thread.traditional.example;/** * inter原创 2016-03-20 14:51:02 · 386 阅读 · 0 评论 -
java多线程之(suspend()、resume())
suspend()和resume()方法,从字面意义上可以了解到这两个方法是一对的,suspend()方法就是将一个线程挂起(暂停),resume()方法就是将一个挂起线程复活继续执行。参照例子: package nc.com.thread.traditional.example;public class TestSuspendAndResume { public static vo原创 2016-03-20 15:01:01 · 1148 阅读 · 0 评论 -
JAVA多线程之Object的(wait()、notify())
如果需要调用一个对象的wait()方法,当前线程必须持有这个对象的锁,因此调用wait()方法必须在同步块或者同步方法中进行(synchronized块或者synchronized方法)。 调用某个对象的wait()方法,相当于让当前线程交出此对象的锁,然后进入等待状态,等待后续再次获得此对象的锁(Thread类中的sleep方法使当前线程暂停执行一段时间,从而让其他线程有机会继续执行,但它原创 2016-03-20 15:29:25 · 348 阅读 · 0 评论 -
JAVA多线程之(CountDownLatch)
一个同步辅助类,它允许一个或多个线程一直等待一组其他线程执行结束后再做处理。用给定的计数初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即执行。 一个线程(或者多个), 等待另外N个线程完成某个事情之后才能执行,实例代码如下: pa原创 2016-03-20 15:42:58 · 295 阅读 · 0 评论 -
JAVA多线程之(CyclicBarrier)
CyclicBarrier与CountDownLatch类似,一般用于任务拆分,例如一个任务分派多个子任务,然后组任务需要等待所有子任务执行结束后合并子任务返回的结果。具体请参照实例: package nc.com.thread.other;import java.util.Random;import java.util.concurrent.CyclicBarrier;/**原创 2016-03-20 16:06:56 · 318 阅读 · 0 评论 -
java多线程之(Exchanger)
Exchanger是自jdk1.5起开始提供的工具套件,一般用于两个工作线程之间交换数据。具体场景如下:此类提供对外的操作是同步的;用于成对出现的线程之间交换数据;可以视作双向的同步队列;可应用于基因算法、流水线设计等场景。package nc.com.thread.other;import java.util.concurrent.Exchanger;import java原创 2016-03-20 16:14:42 · 407 阅读 · 0 评论