控制MultiThreads

时间:2013-03-06 16:48:46

标签: java

我有24个元素的数组 我需要创建10个线程和一个控制器线程 控制器线程的任务是允许一些线程访问数组并根据特定条件阻止其中的一些。 主要问题我们可以用一个控制器线程控制所有线程 并且我们可以确保可以访问数组的线程在访问第二个元素之前完成访问数组中的第一个元素。 感谢

1 个答案:

答案 0 :(得分:0)

听起来我正在寻找ReadWriteLock s。

我建议您为希望独立控制的每组元素创建一个锁,并将它们保存在控制器中。当控制器通过写锁控制访问时,所有非控制器线程都可以进行读锁定。

我建议您使用的ReadWriteLocks的主要功能是能够非常快速地从多个线程获取和释放读锁定,但尝试写锁定将等待释放所有读锁定然后阻止所有新锁定读锁,直到写锁被释放。