Вызывание функции каждые 10 минут

flexbox не очень хорошо реагирует на поля.

Лучший подход / обходной путь, который я предпочитаю, состоит в том, чтобы убедиться, что все дети Flex имеют 0 полей, установите контейнер flex в justify-content: space-between;, а затем дать детям общую ширину менее 100%. Остальная часть будет вашей маржой.

Другими словами, если вам нужно два элемента в строке, установите каждый на 49% в ширину, и у вас будет 2% пространства между ними. Три элемента, каждый по 32% в ширину, и у вас будет 2% между ними. В примере калькулятора ячейка 0 должна быть 66%, а остальные 32%.

Изменить: обратите внимание, что, поскольку причины (а именно, что content-box ужасны), если у кого-либо из ваших детей есть границ, вам нужно будет использовать box-sizing: border-box для правильного работы моего предложения.

https://jsfiddle.net/r3L1mtbe/2/

26
задан skaffman 3 August 2009 в 07:19
поделиться

4 ответа

Взгляните на ScheduledExecutorService :

Вот класс с методом, который устанавливает ScheduledExecutorService для звукового сигнала каждые десять секунд в течение часа:

 import static java.util.concurrent.TimeUnit.*;
 class BeeperControl {
    private final ScheduledExecutorService scheduler =
       Executors.newScheduledThreadPool(1);

    public void beepForAnHour() {
        final Runnable beeper = new Runnable() {
                public void run() { System.out.println("beep"); }
            };
        final ScheduledFuture<?> beeperHandle =
            scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
        scheduler.schedule(new Runnable() {
                public void run() { beeperHandle.cancel(true); }
            }, 60 * 60, SECONDS);
    }
 }
27
ответ дан Tim 15 October 2019 в 07:47
поделиться

Попробуйте это. Он будет повторять функцию run () каждые заданные минуты. Чтобы изменить заданные минуты, измените переменную MINUTES

int MINUTES = 10; // The delay in minutes
Timer timer = new Timer();
 timer.schedule(new TimerTask() {
    @Override
    public void run() { // Function runs every MINUTES minutes.
        // Run the code you want here
        CLASSB.funcb(); // If the function you wanted was static
    }
 }, 0, 1000 * 60 * MINUTES);
    // 1000 milliseconds in a second * 60 per minute * the MINUTES variable. 

Не забудьте выполнить импорт!

import java.util.Timer;
import java.util.TimerTask;

Для получения дополнительной информации перейдите сюда:

http://docs.oracle.com/javase/7/docs/api/java/util/Timer.html http://docs.oracle.com/javase/7 /docs/api/java/util/TimerTask.html

11
ответ дан Fnaf Server 15 October 2019 в 07:47
поделиться

Решение с Java 8

ClassB b = new ClassB();    
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
Runnable task = () -> {
    b.funb();
};
executor.scheduleWithFixedDelay(task, 0, 10, TimeUnit.MINUTES);
0
ответ дан byteprom 15 October 2019 в 07:47
поделиться
import java.util.Date;

import java.util.Timer;

import java.util.TimerTask;

public class ClassExecutingTask {

    long delay = 10 * 1000; // delay in milliseconds
    LoopTask task = new LoopTask();
    Timer timer = new Timer("TaskName");

    public void start() {
        timer.cancel();
        timer = new Timer("TaskName");
        Date executionDate = new Date(); // no params = now
        timer.scheduleAtFixedRate(task, executionDate, delay);
    }

    private class LoopTask extends TimerTask {
        public void run() {
            System.out.println("This message will print every 10 seconds.");
        }
    }

    public static void main(String[] args) {
        ClassExecutingTask executingTask = new ClassExecutingTask();
        executingTask.start();
    }


}
15
ответ дан 28 November 2019 в 06:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: