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

JolyHoska

Активный участник
Пользователь
Баллы
76
Имя в Minecraft
JolyNoska
Драсти! У меня опять тупой вопрос! Таймер лучше хранить в отдельном классе, или нет? И еще это отдельный поток?
Код:
    public void onEnable() {
        this.getServer().getPluginManager().registerEvents(this, this);
        Bukkit.getScheduler().runTaskTimer(this, new Core$1(this), 0, 50);
Мою мнение: ЕСТЕСТВЕННО, потому, что он создают новый поток только тогда когда вкл, а не создают новый! Я не знаю зачем я это спросил. Наверное потому, что я паникер по оптимизации, и мне надо точно знать, правильно я делаю или нет!
 
Последнее редактирование:
Вот один из примеров когда из асинс шедулера идет переход в синс для установке блока.
Оно требуется один раз при первом заходе игрока. Дальше все печки игроков тикают в асинсе.

Код:
    @EventHandler
    public void on(TickUpdateEvent e) {
        for (Player p : Bukkit.getOnlinePlayers()) {
            if (!NMS.furnaces.containsKey(p.getName())) {
                new SyncScheduler(p.getName()).runTaskLater(this.plugin, 0);
            } else {
                try {
                    NMS.tiles.get(p.getName()).e();
                } catch (Exception x) {

                }
            }
        }
    }
 
У меня Scheduler используется только в сообщения, например: примеры, очистка и т.д. Больше Scheduler мне нигде не нужен, Scheduler запускается при включения сервера(плагина)Поэтому всегда буду использовать Asynchronously, чтобы сделать все круто и мега оптимизировано)
 
У меня Scheduler используется только в сообщения, например: примеры, очистка и т.д. Больше Scheduler мне нигде не нужен, Scheduler запускается при включения сервера(плагина)Поэтому всегда буду использовать Asynchronously, чтобы сделать все круто и мега оптимизировано)
Примеры начали парсить. Нужно что то сложнее давать. Или писать его в карту).
 
public void onEnable () {
BukkitRunnable runnable = (new BukkitRunnable () {
@Override
public void run () {
log.finer ("Tick");
}
});
Runnable.runTasktimerAsynchronously (это, 5L, 20L);
}

} Так лучше?
 
Ну хорошо. и еще последний вопрос: new Core$1(this).runTaskTimerAsynchronously(this, 0, 2400); он не создают новые потоки, а запускает один BukkitAPI, я прав? То есть чем меньше потоков не меньше нагрузка
 
Ну хорошо. и еще последний вопрос: new Core$1(this).runTaskTimerAsynchronously(this, 0, 2400); он не создают новые потоки, а запускает один BukkitAPI, я прав? То есть чем меньше потоков не меньше нагрузка
А не проще ли тебе будет почитать про потоки, чем разводить тут тему на 10 страниц?
 
Назад
Верх