⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 burford.java

📁 kaffe Java 解释器语言,源码,Java的子集系统,开放源代码
💻 JAVA
字号:
public class burford implements Runnable {    public static void main(String argv[])    {        burford b = new burford();        Thread bt = new Thread(b);        System.out.println("Starting burford...");                bt.start();	// XXX Make sure bt has actually started up and hit the wait	Thread.yield();	        Thread f1 = new Thread(b.new feeder(b));        Thread f2 = new Thread(b.new feeder(b));        System.out.println("Starting feeders...");                f1.start();        f2.start();        try {            f1.join();            f2.join();        } catch (InterruptedException exc) {}        System.out.println("Feeders completed...");                b.awaken();        System.out.println("burford awakened -- result = " + b.counter());    }    public void run()    {        try {	    while( !this.done ) {		synchronized (v_mutex) {		    v_mutex.wait();		}	    }        } catch (InterruptedException exc) {}    }    public synchronized int counter()    {        return (v_counter);    }        public synchronized void increment()    {        v_counter++;    }        public void awaken()    {        synchronized (v_mutex) {	    this.done = true;            v_mutex.notify();        }    }    class feeder implements Runnable {        feeder(burford target)        {            v_target = target;        }        public void run()        {            for (int i = 0; i < 50; i++) {                v_target.increment();            }        }        private burford v_target;    }        private Object v_mutex = new Object();    private int v_counter = 0;    private boolean done = false;}/* Expected Output:Starting burford...Starting feeders...Feeders completed...burford awakened -- result = 100*/

⌨️ 快捷键说明

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