用于组织受限访问部分的Java库

用于组织受限访问部分的Java库,java,multithreading,Java,Multithreading,我经常需要组织一些关键部分,其中多个线程可以同时访问,但使用同一密钥访问的线程不超过X个 简化示例: 线程池,用于处理队列中的设备命令 队列包含用于不同设备的命令 当一个线程处理设备命令时,处理同一设备命令的其他线程应等待轮到它们 我知道这可以通过不同的方式实现,你可以说需要架构重构等等,但这是我能想到的最简单的例子 编辑:我不需要这个特定示例的解决方案,我需要一些库,它允许基于一些密钥限制访问,例如设备IP/MAC字符串。例如:getLock().lock(deviceIP) 我有自己的代

我经常需要组织一些关键部分,其中多个线程可以同时访问,但使用同一密钥访问的线程不超过X个

简化示例:

  • 线程池,用于处理队列中的设备命令
  • 队列包含用于不同设备的命令
  • 当一个线程处理设备命令时,处理同一设备命令的其他线程应等待轮到它们
我知道这可以通过不同的方式实现,你可以说需要架构重构等等,但这是我能想到的最简单的例子


编辑:我不需要这个特定示例的解决方案,我需要一些库,它允许基于一些密钥限制访问,例如设备IP/MAC字符串。例如:getLock().lock(deviceIP)


我有自己的代码来做这件事,但我想我错过了什么吗?是否有一些标准的Java SE 8组件或第三方库来执行此操作?

同步(设备)
device.getLock().lock()
?我不需要解决方案,例如,我需要一个库,它允许基于某些密钥限制访问,例如设备IP/MAC。例如:getLock().lock(IP);要求图书馆在这里是离题的。不管怎样,我猜你需要的只是JDK。如果你有一个具体的问题,用你试过的代码把它贴出来,并清楚地解释问题是什么。很抱歉偏离主题,谢谢你的时间。