第五十三道Java小问题

import java.util.concurrent.TimeUnit;

class TestWork {
	volatile int i = 0;

	void f() throws InterruptedException {
		while (i == 0)
			wait();
		System.out.println("Waken!");
	}

	synchronized void g() {
		i = 1;
		notifyAll();
	}
}

class Test {

	public static void main(String[] args) throws Exception {
		final TestWork work = new TestWork();
		new Thread() {
			public void run() {

				try {
					work.f();
				} catch (InterruptedException e) {

				}
			}
		}.start();
		TimeUnit.SECONDS.sleep(1);
		new Thread() {
			public void run() {

				work.g();

			}
		}.start();

	}

}

 

请问以上程序的输出是:

你可能感兴趣的:(java,thread,F#)