Skip to content
Snippets Groups Projects
Select Git revision
  • a2f20d1bc2adecab0cf770dddad9b6699ff47c60
  • main default protected
  • master
3 results

TestCohort.java

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Ticker.java 802 B
    package fr.univamu.ticker;
    
    import fr.univamu.ticker.TickListener;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Ticker {
    
        private Thread ticking;
        private final List<TickListener> listeners = new ArrayList<>();
    
        public void add(TickListener listener) {
            listeners.add(listener);
        }
    
        public void startTicking() {
            ticking = new Thread(() -> {
                try {
                    while (true) {
                        Thread.sleep(1000);
                        listeners.forEach(TickListener::notifyTick);
                    }
                } catch (InterruptedException exc) {
                    // Done
                }
            });
            ticking.setDaemon(false);
            ticking.start();
        }
    
    
        public void stopTicking() {
            ticking.interrupt();
        }
    }