| src/main/java/com/zy/core/cache/TaskProtocolCache.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/zy/core/thread/RgvThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/core/cache/TaskProtocolCache.java
@@ -154,6 +154,44 @@ // lock.readLock().unlock(); // 释放读锁 } } /** * 查询是否有可执行任务 */ public TaskProtocol getNowPosRunTask3(Long targetPosition) { // lock.readLock().lock(); // 加读锁 try { for (TaskProtocol task : cache.values()) { if (task.getTaskStatus()==1) { long runPos = Math.abs(task.getTargetPosition() - targetPosition); if (runPos<50) { return task; } return null; } } for (TaskProtocol task : cache.values()) { if (task.getTaskStatus()==2) { long runPos = Math.abs(task.getTargetPosition() - targetPosition); if (runPos<50) { return task; } return null; } } for (TaskProtocol task : cache.values()) { if (task.getTaskStatus()==3) { long runPos = Math.abs(task.getTargetPosition() - targetPosition); if (runPos<50) { return task; } return null; } } return null; // 返回副本 } finally { // lock.readLock().unlock(); // 释放读锁 } } /** src/main/java/com/zy/core/thread/RgvThread.java
@@ -522,7 +522,7 @@ RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId()); TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache(); TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos()); TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask3(rgvProtocolOther.getRgvPos()); if (!Cools.isEmpty(nowPosRunTask)){ boolean signNowPosRun = true; if (nowPosRunTask.getTaskStatus()==3){ @@ -727,7 +727,7 @@ } else { RgvThread rgvThreadOther = (RgvThread) SlaveConnection.get(SlaveType.Rgv, slave.getOtherId()); TaskProtocolCache taskProtocolCacheOther = rgvThreadOther.getTaskProtocolCache(); TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask(rgvProtocolOther.getRgvPos()); TaskProtocol nowPosRunTask = taskProtocolCacheOther.getNowPosRunTask3(rgvProtocolOther.getRgvPos()); if (!Cools.isEmpty(nowPosRunTask)){ boolean signNowPosRun = true; if (nowPosRunTask.getTaskStatus()==3){