温少的日志

我希望我所作的事情对别人有所帮助!
随笔 - 184, 文章 - 1, 评论 - 1094, 引用 - 11
数据加载中……

想到Exchanger N parties的一种用法

一般来说,Exchanger都是一个Consumer,一个producer,在适当的时候互相交换,这样可以避免锁。

我想到Exchanger N parties的一种用法。如下:

最初N个都是producer,达到一定条件之后,进行交换。根据交换的结果重新确定角色,决定自己是consumer还是producer。

这样做的结果是,最初所有都是producer,之后一部分转变成consumer。并且由于consumer以及producer的速度不一样,而能够自动适应调整。


要注意的是,JDK 1.5中的Exchanger只支持2 parties,N parties时,N > 2会导致死锁。JDK 1.6中,Exchanger重写了,没有这个问题。

在JDK 1.5中要这样用的话,可以把JDK 1.6中Exchanger源码抄过来就是了。

posted on 2006-11-12 22:30 温少 阅读(732) 评论(0)  编辑 收藏 网摘 所属分类: Java




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 558626




相关文章:

相关链接: