schedulertest.java

来自「JGRoups源码」· Java 代码 · 共 87 行

JAVA
87
字号
// $Id: SchedulerTest.java,v 1.5 2004/07/05 14:15:04 belaban Exp $package org.jgroups.tests;import junit.framework.TestCase;import org.jgroups.util.Scheduler;import org.jgroups.util.SchedulerListener;import org.jgroups.util.Util;public class SchedulerTest extends TestCase {    static class MyThread implements Runnable {        String name;        MyThread(String name) {            this.name=name;        }        public void run() {            long sleep_time=(long)(Math.random() * 1000);            System.out.println("\n--> " + name + ": sleeping for " + sleep_time + " ms");            Util.sleep(sleep_time);            System.out.println("--> " + name + ": Done");        }        public String toString() {            return "MyThread [name=" + name + ']';        }    }    static class Listener implements SchedulerListener {        public void started(Runnable t) {            System.out.println("--> Started: " + t);        }        public void stopped(Runnable t) {            System.out.println("--> Stopped: " + t);        }        public void suspended(Runnable t) {            System.out.println("--> Suspended: " + t);        }        public void resumed(Runnable t) {            System.out.println("--> Resumed: " + t);        }    }    public SchedulerTest(String name) {        super(name);    }    public void testScheduler() throws Exception {        Scheduler sch=new Scheduler();        sch.setListener(new Listener());        sch.add(new MyThread("Bela"));        sch.add(new MyThread("Janet"));        sch.add(new MyThread("Ralph"));        sch.start();        sch.add(new MyThread("Frank"));        sch.add(new MyThread("Marco"));        Util.sleep(1000);        sch.addPrio(new MyThread("Gabi"));        sch.add(new MyThread("Rolf"));        Util.sleep(100);        sch.addPrio(new MyThread("Gabi2"));        Util.sleep(100);        sch.addPrio(new MyThread("Gabi3"));        Util.sleep(100);        sch.addPrio(new MyThread("Gabi4"));        Util.sleep(1000);  // increase this if you want to see all thread running (and possibly completing)        sch.stop();    }    public static void main(String[] args) {        String[] testCaseName={SchedulerTest.class.getName()};        junit.textui.TestRunner.main(testCaseName);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?