Improved the Scheduler.

Adds nag message when async tasks are not properly shut down and adds a limiter for sync tasks. Once they use 35ms in a single tick, any remaining tasks are not executed until later ticks. Adds a method to report the pending tasks and one to report active worker threads
This commit is contained in:
Raphfrk
2011-04-28 20:10:39 +01:00
committed by EvilSeph
parent aa70240917
commit fdb077e814
4 changed files with 182 additions and 41 deletions

View File

@@ -3,8 +3,9 @@ package org.bukkit.craftbukkit.scheduler;
import java.lang.Comparable;
import org.bukkit.plugin.Plugin;
import org.bukkit.scheduler.BukkitTask;
public class CraftTask implements Comparable<Object> {
public class CraftTask implements Comparable<Object>, BukkitTask {
private final Runnable task;
private final boolean syncTask;
@@ -44,7 +45,7 @@ public class CraftTask implements Comparable<Object> {
return task;
}
boolean isSync() {
public boolean isSync() {
return syncTask;
}
@@ -56,7 +57,7 @@ public class CraftTask implements Comparable<Object> {
return period;
}
Plugin getOwner() {
public Plugin getOwner() {
return owner;
}
@@ -64,6 +65,10 @@ public class CraftTask implements Comparable<Object> {
executionTick += period;
}
public int getTaskId() {
return getIdNumber();
}
int getIdNumber() {
return idNumber;
}
@@ -104,6 +109,4 @@ public class CraftTask implements Comparable<Object> {
public int hashCode() {
return getIdNumber();
}
}