Commits
Sunmisc authored and md_5 committed 53254c56f9a
437 437 | } else if (task.isSync()) { |
438 438 | runners.remove(task.getTaskId()); |
439 439 | } |
440 440 | } |
441 441 | pending.addAll(temp); |
442 442 | temp.clear(); |
443 443 | debugHead = debugHead.getNextHead(currentTick); |
444 444 | } |
445 445 | |
446 446 | private void addTask(final CraftTask task) { |
447 - | final AtomicReference<CraftTask> tail = this.tail; |
448 - | CraftTask tailTask = tail.get(); |
449 - | while (!tail.compareAndSet(tailTask, task)) { |
450 - | tailTask = tail.get(); |
451 - | } |
447 + | final CraftTask tailTask = this.tail.getAndSet(task); |
452 448 | tailTask.setNext(task); |
453 449 | } |
454 450 | |
455 451 | private CraftTask handle(final CraftTask task, final long delay) { |
456 452 | task.setNextRun(currentTick + delay); |
457 453 | addTask(task); |
458 454 | return task; |
459 455 | } |
460 456 | |
461 457 | private static void validate(final Plugin plugin, final Object task) { |