![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程并发
_jerrytiger
这个作者很懒,什么都没留下…
展开
-
java.util.concurrent 包下常用的类(二)
原子类AtomicLong 、 AtomicInteger …等用于防止多线程下类似于数据库脏读的发生。如果一个操作分为两步执行,第一步读取当前的状态,第二步,如果状态符合要求。就更新,否者不更新。 那么就可以使用上面的原子类实现package com.zf.colcurrent;import java.util.concurrent.atomic.AtomicLong原创 2012-11-18 18:00:45 · 1589 阅读 · 0 评论 -
使用CycleBarrier代替CountDownLatch解决阻塞问题
问题:一个池塘,有很多鸟和很多鱼,鸟每分钟产生一个后代,鱼每30秒钟产生2个后代。鸟每10秒钟要吃掉一条鱼。建一个池塘,初始化一些鱼和鸟,看看什么时候鸟把鱼吃光。看到http://blog.csdn.net/ldh911/article/details/7346262的文章后,模仿文章上的代码,自己写了一个实现, 但是出现了阻塞问题。 代码在http://bbs.csdn.net/原创 2013-10-30 10:16:06 · 4667 阅读 · 1 评论 -
使用 Lock 与Condition 实现生产者消费者
package thread;import java.util.LinkedList;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 使用 Lock 与Cond原创 2013-01-25 10:39:12 · 2035 阅读 · 0 评论 -
Exchanger 实现两个伙伴线程之间的数据交互
package thread;import java.util.LinkedList;import java.util.List;import java.util.concurrent.Exchanger;/** * 下面的例子模拟生产者生产物品 后 与消费者交换数据 * @author zhoufeng * */public class ExchangeDemo { /原创 2013-01-25 11:59:31 · 1682 阅读 · 1 评论 -
ThreadLocal
实例package zf.threadlocal;import java.util.Random;public class ThreadLocalTest02 implements Runnable{ ThreadLocal stu = new ThreadLocal(){ protected Student initialValue() { return new St原创 2013-01-24 22:21:41 · 691 阅读 · 0 评论 -
java中关键字volatile的作用
http://sakyone.iteye.com/blog/668091http://www.ticmy.com/?p=5 从这个例子中可以看出效果转载 2013-01-24 16:08:58 · 900 阅读 · 0 评论 -
java.util.concurrent 包下常用的类
参考http://janeky.iteye.com/package com.zf.thread;import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.ExecutorService;import java原创 2012-11-11 00:50:30 · 6774 阅读 · 0 评论 -
Lock
package com.zf.lock;import java.lang.reflect.Method;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class JDKLockTest { private原创 2012-09-11 00:06:56 · 718 阅读 · 0 评论 -
java线程池。
自己实现的: 线程池类: package com.zf.threadpool;import java.util.Collections;import java.util.LinkedList;import java.util.List;public class ThreadPool { private List tasks = Collectio原创 2012-11-06 00:02:31 · 1017 阅读 · 0 评论 -
ThreadPoolExecutor 总结
ThreadPoolExecutor运转机制详解 http://blog.csdn.net/cutesource/article/details/6061229package thread;import java.util.concurrent.BlockingQueue;import java.util.concurrent.ExecutorService;impo翻译 2013-01-23 17:34:31 · 1045 阅读 · 0 评论 -
java线程池 与 同步计数器CountDownLatch的使用。
concurrent包里面的CountDownLatch其实可以把它看作一个计数器,只不过这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。 CountDownLatch的一个非常典型的应用场景是:有一个任务想要往下执行,但必须要等到其他的任务执行完毕后才可以继续往下执行。假如我们这个想要继续往下执行的任务调用一个CountDown转载 2012-11-06 00:14:35 · 9578 阅读 · 0 评论 -
scheduleAtFixedRate 与 scheduleWithFixedDelay 的区别
package thread;import java.util.concurrent.Executors;import java.util.concurrent.ScheduledExecutorService;import java.util.concurrent.ScheduledFuture;import java.util.concurrent.ThreadFactory;im原创 2013-01-22 17:56:52 · 23943 阅读 · 1 评论