import java.util.concurrent.*;class Car
{
private boolean waxOn=false;
Object obj=new Object();
public void wax() throws InterruptedException
{
if(!waxOn)
{
System.out.println("wax");
waxOn=true;
obj.notify();
}
else
{
obj.wait();
}
} public void buffer() throws InterruptedException
{
if(waxOn)
{
System.out.println("buffer");
waxOn=false;
obj.notify();
}
else
{
obj.wait();
}
}
}class Wax implements Runnable
{
Car c;
public Wax(Car c)
{
this.c=c;
}
public void run()
{
while(!Thread.interrupted())
{
try
{
c.wax();
}
catch(Exception e)
{
}
} }
}class Buffer implements Runnable
{
Car c;
public Buffer(Car c)
{
this.c=c;
}
public void run()
{
while(!Thread.interrupted())
{
try
{
c.buffer();
}
catch(Exception e)
{
}
}
}
}class Test
{
public static void main(String... args) throws Exception
{
ExecutorService exec=Executors.newCachedThreadPool();
Car c=new Car();
exec.execute(new Buffer(c));
exec.execute(new Wax(c));
try
{
TimeUnit.SECONDS.sleep(5);
}
catch(Exception e)
{
}
exec.shutdownNow();
}
}
请问为什么这个程序可以运行,不适notify和wait方法只能用在同步块内么?
解决方案 »
- main函数的代码放在一个构造函数中不能运行!
- 使用Ajax当中出现的问题?
- 求助:java怎么能把一张图片的背景镂空呢?
- 不理解一段代码,找人看下
- 异常类问题
- 求jcreate v2.5的注册码或注册机,分不是蛮多,但请帮帮忙!!
- 如何将 bufferedimage 保存为bmp 图片 jpg gif 也可以;硬盘上存在的图片如何装载到bufferedimage
- 想找一兼職的java程序員,要求上網方便,寫過B/S的進銷存或有相僅的項目經驗
- 怎么使 RMI 服务器同时绑定 几个对象?
- 问题提得有点不好意思:最简单的JAVA代码编辑成class后,用java test.class运行时提示Exception in thread "main"...
- 请问现在还有什么网站提供免费个人主页,支持Java applet的?
- JAVA 重绘问题
{
}
为什么不将异常信息记录下来