本文整理匯總了Java中org.bukkit.event.Event.isAsynchronous方法的典型用法代碼示例。如果您正苦於以下問題:Java Event.isAsynchronous方法的具體用法?Java Event.isAsynchronous怎麽用?Java Event.isAsynchronous使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類org.bukkit.event.Event
的用法示例。
在下文中一共展示了Event.isAsynchronous方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: execute
import org.bukkit.event.Event; //導入方法依賴的package包/類
@Override
// 計算調用次數和花費總時間以及花費最多的時間
public void execute(Listener listener, Event e) throws EventException {
if (e.isAsynchronous()) {
this.eventExecutor.execute(listener, e);
} else {
long startTime = System.nanoTime();
try {
try{
this.eventExecutor.execute(listener, e);
}catch(Throwable ex){
MonitorUtils.AExceptionCatcher(plugin, ex);
}
} finally {
long endTime = System.nanoTime();
long executeTime = endTime - startTime;
if(ConfigFunction.MonitorPluginLagWarningenable){
if(executeTime/1000000 > ConfigFunction.MonitorPluginLagWarningPeriod){
AzureAPI.log("警告!服務器主線程陷入停頓超過配置設定值!因為插件" + this.getPlugin().getName() + " 執行了一次耗時 " + executeTime/1000000 + " 毫秒的位於 " + listener.getClass().getName() + " 的監聽器 " + e.getEventName() + " 的操作!");
}
}
this.record(e.getEventName(), executeTime);
}
}
}
示例2: execute
import org.bukkit.event.Event; //導入方法依賴的package包/類
@Override
// 計算調用次數和花費總時間以及花費最多的時間
public void execute(Listener listener, Event e) throws EventException {
if (e.isAsynchronous()) {
this.eventExecutor.execute(listener, e);
} else {
long startTime = System.nanoTime();
try {
this.eventExecutor.execute(listener, e);
} finally {
long endTime = System.nanoTime();
long executeTime = endTime - startTime;
this.record(e.getEventName(), executeTime);
}
}
}