java 多线程
文章平均质量分 69
千里之行_始于足下
一天一个脚印一切都会有的
展开
-
Semaphore
一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并采取相应的行动。操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可原创 2014-06-24 10:15:42 · 362 阅读 · 0 评论 -
java 线程超时时间
public static void main(String[] args) { String failReason = null; Future f=new FutureTask(new Callable() { @Override public Object call() throws Exception { // TODO Auto-generated met原创 2014-07-07 13:54:34 · 614 阅读 · 0 评论 -
使用CountDownLatch启动和停止线程
package File;import java.util.concurrent.CountDownLatch;public class Indexer { Indexer(){}; public long timeTasks(int nThreads,final Runnable stak) throws InterruptedException{ final CountDow原创 2014-06-20 17:40:37 · 1666 阅读 · 0 评论 -
join方法的理解
thread.Join把指定的线程加入到当前线程,可以将两个交替执行的线程合并为顺序执行的线程。比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继续执行线程B。t.join(); //使调用线程 t 在此之前执行完毕。t.join(1000); //等待 t 线程,等待时间是1000毫秒 先上一段JDK中代码:Java代码转载 2016-09-19 14:06:27 · 5158 阅读 · 2 评论 -
ReentrantLock
一道经典的Java多线程编程题原创 2017-02-07 16:36:16 · 198 阅读 · 0 评论 -
RecursiveTask
多线程并行计算/** * Created by yuanyong on 17/2/8. */import java.util.concurrent.ForkJoinPool;import java.util.concurrent.Future;import java.util.concurrent.RecursiveTask;public class CountTask ext原创 2017-02-10 11:08:35 · 3611 阅读 · 1 评论 -
Exchanger线程拷贝
import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.Exchanger;/** * Created by yuanyong on 17/2/8. */public class ThreadLocalTest { public原创 2017-02-10 11:11:51 · 246 阅读 · 0 评论 -
生产者消费者模式
import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.LinkedBlockingDeque;import java.util.concurrent.locks.Condition;import java.util.concu原创 2017-02-10 10:52:22 · 272 阅读 · 0 评论