我需要提出一个“ResourceManager”C#类,它将创建“n”个线程(一个用于HW资源)并将它们交给客户端,以便他们可以使用它。每个客户端都在一个单独的线程上运行,并将进行阻塞调用 资源资源= ResourceManager.GetResource() 如果在某个timeOut之后没有可用资源,它将抛出异常。 然后调用者将在资源完成时释放资源。
我正在考虑在Resources [n]上使用控制数组的信号量数组(大小为n) 并使用它们来表示资源是否可用,客户端在调用服务器Release方法时发信号通知信号量,但我觉得这不是最简单的设计。
是否有任何参考/资源包含有关多线程应用程序资源管理的信息?
提前致谢