非同步執行任務

你可以使用 runTaskAsynchronously 從主執行緒非同步執行程式碼。這對於進行密集的數學運算或資料庫操作很有用,因為它們會阻止主執行緒凍結(以及伺服器滯後)。

很少有 Bukkit API 方法是執行緒安全的,因此如果從主執行緒非同步呼叫,很多都會導致未定義的行為。

Bukkit.getScheduler().runTaskAsynchronously(plugin, new Runnable() {
    @Override
    public void run() {
        Bukkit.getLogger().info("This message was printed to the console asynchronously");
        //Bukkit.broadcastMessage is not thread-safe
    }
});