RT,写了一个lock来控制线程的示例,认真检查了代码没有问题,但是一编译就变这样,还会嘟嘟的响几声....兄弟们,谁能给小弟解释下怎么回事?
解决方案 »
- 今天面试,被问了两个问题。
- 关于Iterator的问题,请教高手。。。
- 请问用JAVA开发一个桌面应用程序用什么工具比较好
- 关于extends 和implements的关系
- GUI只打开一个窗口实例的方法
- 谁能告诉我如何在java写的窗口里插入图片??谢谢啊~~
- 我常去的Java网站www.it315.org,不知是否有vc的免费视频下载,别的网站呢
- 如何读入一个字符串??
- 如何判断客户端是否安装了Jre????(高分,发表意见就给)
- 用jdbc 实现ms sql server7 移植到 oracle8i
- 关于RSA使用私钥签名在java和android生成的不一致问题
- java for 循环截取字符串
第二,你的locale设置有问题,产生了乱码,导致你无法看懂编译错误
第三,编译错误:Interuptedexception属于检测异常,在编译(编写代码的时候)就需要捕获处理的,但你却没有处理这个异常。先将你的乱码问题解决,然后多看看异常方面的基础知识,,,,,
首先定义一个资源,其中包括了生产和消费两种方法。
定义一个生产者类Pro来实现Runnable接口
定义一个消费者类Con来实现Runnable接口
最后创建2个线程来生产,2个线程来消费,想达到生产一个消费一个的效果。但是编译时候就会出现上边的乱码。小弟新人自学,难免写的有些乱。
int a;
int a;嗯,好的,估计要晚上了,白天上班还弄不了
int a;class Resourse
{
private String name;
private int count = 1;
private boolean flag=false;
public synchronized void setname(String name)
{
if (flag)
try{this.wait();}catch(Exception e){};
this.name=name+"----"+count++;
System.out.println(Thread.currentThread().getName()+"生产-"+name);
flag = true;
this.notify();
}
public synchronized void out()
{
if (!flag)
try{this.wait();}catch(Exception e){};
System.out.println(Thread.currentThread().getName()+"消费------"+name);
flag = false;
this.notify();
}
}class Pro implements Runnable
{
private Resourse r;
Pro(Resourse r)
{
this.r=r;
}
public void run()
{
r.setname("商品");
}
}class Con implements Runnable
{
private Resourse r;
Con(Resourse r)
{
this.r=r;
}
public void run()
{
r.out();
}
}class procondemo
{
public static void main (String[] args)
{
Resourse r = new Resourse();
Pro p = new Pro(r);
Con c = new Con(r);
Thread t1 = new Thread(p);
Thread t2 = new Thread(c);
t1.start();
t2.start();
}
}这是代码,感谢