Помогите Где лучше хранить таймер?

Я думал. Что оптимизировать таймер можно так: создать поле: private BukkitRunnable run; а потом: run = new BukkitRunnable() { public void run() { ну дальше т д
 
Так волнуешься будто плагин over9000 runnable'ов делает. Главное помни: "Преждевременная оптимизация — зло!"

UPD Твой код там не убивает всё подряд, вместе с животными и игроками?
 
Последнее редактирование:
как запустить оптимизированный таймер(отдельный поток)
?
 
То есть асинхронный таймер и есть оптимизированный(отдельный поток) ?
 
Мне надо не только для очистки, но и для других плагинах таймер
 
Вы можете просто ответь, как сделать отдельный поток или оптимизировать таймер, я просто запутался отдельный поток, или общий, короче, какой самый лучший и какой оптимизированный, и код пожалуйста скиньте, я понимаю я наглею, ну и пусть, за то у меня будет знания и код)) Ладно шучу!Можете скинуть код, хнык-хнык, пожалуйста?
 
Вы можете просто ответь, как сделать отдельный поток или оптимизировать таймер, я просто запутался отдельный поток, или общий, короче, какой самый лучший и какой оптимизированный, и код пожалуйста скиньте, я понимаю я наглею, ну и пусть, за то у меня будет знания и код)) Ладно шучу!Можете скинуть код, хнык-хнык, пожалуйста?

Переведи в гугл переводчике https://bukkit.org/threads/sync-and-async-schedule-question.103705/#post-1359124

Но специально для тебя переведу конец:
Я бы не советовал использовать асинхронные штуки если вы не никогда не работали с потоками.
 
Асинхронные runnable не имеют доступа к BukkitAPI. Запускай Bukkit.getScheduler().runTaskTimer().
А вообще, посмотри примеры, вот антилаг от китайца: https://github.com/1434967947/AntiLag.
images
 
Ну если ты будешь с миром работать, кикать игрока, то не получится из асинс.
 
Последнее редактирование:
Ну если ты будешь с миром работать, кикать игрока, то не получится из асинс.
В документации написали "Asynchronous tasks should never access any API in Bukkit.", хотя есть безопасные для потока методы :/
Но удалять существ с мира все-таки надо в главном потоке?
 
В документации написали "Asynchronous tasks should never access any API in Bukkit.", хотя есть безопасные для потока методы :/
Но удалять существ с мира все-таки надо в главном потоке?
Не пробовал, не знаю. То что кикать игрока низя это точно. А так много чего можно с асинса.
 
А для ввода сообщений тоже лучше использовать Asynchronous?
 
Я все понял, если у 10 плагинов есть getSchelduler().runTaskTime(ла-ла); то создаются 10 потоков, чтобы это исправить придумать new Core$1(this).runTaskTimerAsynchronously(this, 0, 2400); Он запускает только один поток не смотря, что плагинов 10 с getScheduler(ом)! Это и есть отдельный поток, или оптимизированный?
 
Я все понял, если у 10 плагинов есть getSchelduler().runTaskTime(ла-ла); то создаются 10 потоков, чтобы это исправить придумать new Core$1(this).runTaskTimerAsynchronously(this, 0, 2400); Он запускает только один поток не смотря, что плагинов 10 с getScheduler(ом)! Это и есть отдельный поток, или оптимизированный?
Все шедулеры без Asynchronously будут тикать в главном потоке сервера. Короче их общее время выполнения в тот же тик скажется на тпс сервкера. Asynchronously же отдельно живет сам по себе. И даже если он несколько минут будет чет делать, сервер не заметит.
 
Все шедулеры без Asynchronously будут тикать в главном потоке сервера. Короче их общее время выполнения в тот же тик скажется на тпс сервкера. Asynchronously же отдельно живет сам по себе.
Я везде можно использовать Asynchronously в качестве оптимизации?
 
Назад
Верх