0

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

4

1 回答 1

0

在我看来,您正在寻找ReadWriteLock

我建议您为要独立控制的每组元素创建一个锁,并将它们保存在控制器中。所有非控制器线程都可以获取读锁,而控制器通过写锁控制访问。

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

于 2013-03-06T16:53:48.123 回答