本文整理汇总了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);
}
}
}