| | |
| | | * 如果发现队列已满无法添加的话,会直接返回false。 |
| | | */ |
| | | public static boolean offer(SlaveType type, Integer id, Task task) { |
| | | CommandUtils.offer(type, id, task); |
| | | switch (type) { |
| | | case Crn: |
| | | return CRN_EXCHANGE.get(id).offer(task); |
| | |
| | | break; |
| | | } |
| | | } |
| | | public static boolean offer(SlaveType type, Integer devpId, Task task, Runnable callback) { |
| | | boolean result = offer(type, devpId, task); // 先执行原有任务逻辑 |
| | | if (result && callback != null) { |
| | | new Thread(() -> { |
| | | try { |
| | | Thread.sleep(200); // 模拟任务执行时间 |
| | | callback.run(); |
| | | } catch (InterruptedException e) { |
| | | Thread.currentThread().interrupt(); |
| | | } |
| | | }).start(); |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | |
| | | } |