加载中
CyclicBarrier测试

作了一下测试,还是可以的,不过在实际使用中还是要加入超时的考虑。本实例还参考别人的自己作测试而已。实例为:赛跑时,等待所有人都准备好时,才起跑。

2015/11/22 20:54
52
Exchanger测试

Exchanger的一个简单用法,参考了别人的,暂时记录一下。实现一个生产,一个消费。其实就是生产者生产一个随机的整数,然后交给消费者消费,消费者拿到数据后给一个0作应答。让他们交换5次。...

2015/11/22 20:18
22
Java 中 volatile 关键字的使用注意点

Volatile 变量具有 synchronized 的可见性特性,但是不具备原子特性。这就是说线程能够自动发现 volatile 变量的最新值。Volatile 变量可用于提供线程安全,但是只能应用于非常有限的一组用例...

2015/03/14 01:46
1K
使用 多个 Condition 优化实现产生者消费者

前面的2个例子虽然实现了产生者与消费者,但是当调用wait后,只会到同一个等待队列里去等待,当调用notify或者signal后,它会不管是产生者和消费者都会去通知一下,这样就会出现通知自己的情...

使用 Lock Condition 实现产生者消费者

在前一篇文章中,说到了用传统的方法产生者消费者,这文章中使用 Lock Condition 实现产生者消费者。这个例子还是前面说的例子,只是改了一下Clerk类。

使用 synchronized wait notify 实现生产者消费者

实现生产者消费者可以用传统的synchronized wait notify。下面的例子是生产者设定整数,消费者消费生产者生产的整数。将在下一篇文章中使用Condition和Lock实现。...

使用 ReentrantReadWriteLock

我们知道一个类中如果有写与读的多个方法时,使用Lock会不管是你的读还是写都会锁定对象,这样如果我只是调用读的多个方法时,效率就会大大的降低。为了提高性能我们可以用并发工具 Reentran...

使用 ReentrantLock

前面在解除死锁的例子里说了关于Lock 的主要实现类 ReentrantLock 的用法,下面再具体以设计一个 ArrayList 说一下。

关于解除死锁的例子

前面一篇文章举例子说明了死锁的原因是双方都持有自己资源的锁而等待着对方的锁。下面这篇将以例子说明如何解除死锁。

2014/09/01 11:09
87
关于死锁的例子

在多线程中,关于死锁是必须理解的一个概念。下面的一个例子是关于双方都持有自己的锁而等待对方的锁形成的死锁。下面的线程会不会发生死锁是个机率的问题,可以尝试多执行几次。在下一篇中我...

2014/09/01 00:13
141
线程通讯和同步的两种实现方法

线程通讯和同步的两种实现方法

2014/05/05 07:57
269

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部