黑马程序员技术交流社区
标题:
大家来帮我看看这是怎么了!!
[打印本页]
作者:
薆情媬証書
时间:
2013-10-7 09:03
标题:
大家来帮我看看这是怎么了!!
代码:
<p>import java.util.concurrent.*;
class Resource
{
private String name;
private String sex;
ReentrantLock lock = new ReentrantLock();
Condition con = lock.newCondition();</p><p> void set(String name, String sex)
{
this.name = name;
this.sex = sex;
}
void get()
{
System.out.println(name+"^^^^^^^"+sex);
}
}</p><p>class Input implements Runnable
{
private Resource res;
int s=0;
Input(Resource res)
{
this.res = res;
}
public void run()
{
for (int i=0; i<8000 ; i++ )
{
if (s == 0)
res.set("lili", "girl");
else
res.set("李华", "男");
s=(s+1)%2;
}
}
}</p><p>class Output implements Runnable
{
private Resource res;
Output(Resource res)
{
this.res = res;
}
public void run()
{
for (int i=0; i<8000 ; i++ )
{
res.get();
}
}
}</p><p>class LockDemo
{
public static void main(String[] args)
{
//System.out.println("Hello World!");
Resource r = new Resource();
Input in = new Input(r);
Output out = new Output(r);</p><p> Thread t1 = new Thread(in);
Thread t2 = new Thread(out);</p><p> t1.start();
t2.start();
}
}
</p><p> </p>
复制代码
编译出现了问题(如下图):
无标题.png
(70.35 KB, 下载次数: 39)
下载附件
2013-10-6 19:30 上传
为什么会出现这样的错误,我已经将包导入了,!!
是不是因为我的jdk版本不对??
如何查看jdk版本呢?
作者:
落木萧萧
时间:
2013-10-7 09:06
本帖最后由 落木萧萧 于 2013-10-7 09:13 编辑
查看java版本是在cmd里输入java -version。
你把导包的语句换成
import
java.util
.concurrent.locks.*;
再试试。
还有如果用的是ECLIPSE,那么可能要设置eclipse的编译器才行。
作者:
The_Wizard
时间:
2013-10-7 09:43
代码中两个类没有导入:
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;
这个文件在1.5版本就能运行了(Lock)。
要更改版本,只要修改 path 环境变量就行了。
作者:
chensc
时间:
2013-10-7 10:09
学习学习!
作者:
薆情媬証書
时间:
2013-10-7 11:54
o啦,谢谢亲们!!!
作者:
chensc
时间:
2013-10-8 08:48
学习学习!
作者:
chensc
时间:
2013-10-9 11:54
学习学习!
作者:
chensc
时间:
2013-10-10 12:27
学习学习!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2