Войти или зарегистрироваться

Помогите Восстановление блока по прохождению времени

Однако всё зависит от конкретной ситуации.
Це верно.
Каждый шедулер - поток. Много потоков - это плохо.
Отложенный таск не шедулер.
UPD: ан нет, тут схалтурили. Тот же шедулер, только без повторов.
К тому же сохранение изменённых блоков на диск при таком раскладе будет неудобным.
Если смотреть далеко вдаль и предугадать то, что сервер упадёт при имеющихся неизменённых блоках, то тут уже ничто не поможет в любом случае.
 
Отложенный таск не шедулер.
Если смотреть далеко вдаль и предугадать то, что сервер упадёт при имеющихся неизменённых блоках, то тут уже ничто не поможет в любом случае.
Таск или шедулер - значения не имеет.
Что касается падений сервера, то тут действительно ни один из вариантов не поможет. Можно, конечно, при изменении блока сразу записывать информацию на диск, но это уже совсем извращение.
Согласись, что перезагрузки сервера происходят в разы чаще, чем "фатальные" краши (при "обычных" onDisable() всё-равно выполняется).
 
Таск или шедулер - значения не имеет.
В UPD написал, что это, считай, одно и тоже.
Согласись, что перезагрузки сервера происходят в разы чаще, чем фатальные краши (при обычных onDisable() всё-равно выполняется).
А тут уже в зависимости от реализации.
В любом случае,
спорить можно бесконечно.
и
Оба варианта имеют право на существование.

А вообще, ТС сам не знает, что хочет, ибо даже объяснить толком не может. Да пребудет с ним сила огурцов.
 
Таск(задача) и шедулер(планировщик) - не одно и тоже. Планировщик выполняет задачи и для выполнения отдельной задачи планировщик создаёт отдельный поток. И неважно, отложенная задача или повторяющаяся, много их или мало - планировщик будет один.
Будьте точнее.
 
@Dereku, аналогично - царь и слуга. Не одно и тоже.;)
 
Простите - "Вам".
От теперь другое дело. Пойду банки готовить, засаливать огурчики буду-с.

Java:
    public BukkitTask runTaskLater(Plugin plugin, Runnable runnable, long delay) {
        return runTaskTimer(plugin, runnable, delay, -1l);
    }

    public int scheduleSyncRepeatingTask(final Plugin plugin, final Runnable runnable, long delay, long period) {
        return runTaskTimer(plugin, runnable, delay, period).getTaskId();
    }

    public BukkitTask runTaskTimer(Plugin plugin, Runnable runnable, long delay, long period) {
        validate(plugin, runnable);
        if (delay < 0l) {
            delay = 0;
        }
        if (period == 0l) {
            period = 1l;
        } else if (period < -1l) {
            period = -1l;
        }
        return handle(new CraftTask(plugin, runnable, nextId(), period), delay);
    }
 
Java:
    public BukkitTask runTaskLater(Plugin plugin, Runnable runnable, long delay) {
        return runTaskTimer(plugin, runnable, delay, -1l);
    }

    public int scheduleSyncRepeatingTask(final Plugin plugin, final Runnable runnable, long delay, long period) {
        return runTaskTimer(plugin, runnable, delay, period).getTaskId();
    }

    public BukkitTask runTaskTimer(Plugin plugin, Runnable runnable, long delay, long period) {
        validate(plugin, runnable);
        if (delay < 0l) {
            delay = 0;
        }
        if (period == 0l) {
            period = 1l;
        } else if (period < -1l) {
            period = -1l;
        }
        return handle(new CraftTask(plugin, runnable, nextId(), period), delay);
    }
По-моему, вы упоминали Task и RepeatingTask как классы(которых кстати нет, как токовых) и что они наследовали Runnable(что, кстати, интерфейс), говоря "Что Task наследует Runnable, что RepeatingTask наследует Runnable".
По-Вашему, функция может наследовать интерфейс Runnable? И как вообще можно унаследовать интерфейс?

Изначально я придрался к этому:
Dereku сказал(а):
Отложенный таск не шедулер.
UPD: ан нет, тут схалтурили. Тот же шедулер, только без повторов.
Естественно он не шедулер. Но Вы, в конце концов, решили, что все-таки он шедулер. И кто-то считает так же.
 
Естественно он не шедулер. Но Вы, в конце концов, решили, что все-таки он шедулер. И кто-то считает так же.
Тут уже скорее виновата бедность языка, ибо под "шедулером" в данном предложении подразумевал нечто, что выполняется в цикле.
вы упоминали Task и RepeatingTask как классы(которых кстати нет, как токовых) и что они наследовали Runnable(что, кстати, интерфейс), говоря "Что Task наследует Runnable, что RepeatingTask наследует Runnable"
Я тут один.
Про RepeatingTask как класс говно конечно, ибо "наследование" снова не то, что следовало написать. Опять-таки бедность языка. А вот Task (aka CraftTask), вполне себе класс и даже implements Runnable.
class CraftTask implements BukkitTask, Runnable {
 
Тут уже скорее виновата бедность языка, ибо под "шедулером" в данном предложении подразумевал нечто, что выполняется в цикле.
Я тут один.
Про RepeatingTask как класс говно конечно, ибо "наследование" снова не то, что следовало написать. Опять-таки бедность языка. А вот Task (aka CraftTask), вполне себе класс и даже implements Runnable.
class CraftTask implements BukkitTask, Runnable {
Как когда-то сказал один мудрый человек(я?): "Будьте точнее".
 
Назад
Верх