A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马连家华 中级黑马   /  2012-6-23 16:35  /  1915 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Noword 于 2012-6-25 17:38 编辑

import java.util.concurrent.locks.*;
class Goods
{
private String name;
private int count;
private boolean flag;
private int x;
private Lock lock = new ReentrantLock();
private Condition pro = lock.newCondition();
private Condition con = lock.newCondition();
public void in(String name)
{
  lock.lock();
  try
  {
   while (flag)
   {
    pro.await();
   }
   this.name = name;
   System.out.println(Thread.currentThread()+name+(++count));
   flag = true;
   con.signal();
  }
  catch (InterruptedException ie)
  {
  }
  finally
  {
   lock.unlock();
  }
}
public void out()
{
  lock.lock();
  try
  {
   while (!flag)
   {
    con.await();
   }
   System.out.println(Thread.currentThread()+name+"消费");
   flag = false;
   pro.signal();
  }
  catch (InterruptedException ie)
  {
  }
  finally
  {
   lock.unlock();
  }
}
}
class Pro implements Runnable
{
private Goods g;
Pro (Goods g)
{
  this.g = g;
}
public void run()
{
  while (true)
  {
   g.in("汽车");
  }
}
}
class Con implements Runnable
{
private Goods g;
Con(Goods g)
{
  this.g = g;
}
public void run()
{
  while (true)
  {
   g.out();
  }
}
}
class day12
{
public static void main(String[] args)
{
  Goods g = new Goods();
  new Thread(new Pro(g)).start();
  new Thread(new Pro(g)).start();
  new Thread(new Con(g)).start();
  new Thread(new Con(g)).start();
}
}
超级无解的
//编译时错误
运行时错误

1.png (12.41 KB, 下载次数: 33)

1.png

评分

参与人数 1技术分 +1 收起 理由
黄奕豪 + 1 赞一个!

查看全部评分

10 个回复

倒序浏览
哥们,俺第一反应你太有才了
回复 使用道具 举报
不是一般的牛 哈哈 {:soso_e100:}
回复 使用道具 举报
是吗..天生的
什么原因,解释下
回复 使用道具 举报
把类名Con换成其他的名字就行了
回复 使用道具 举报
这个异常是 “没有找到这样的类”错误
回复 使用道具 举报
对...但是,为什么会这样?
回复 使用道具 举报
李盼 中级黑马 2012-6-23 17:25:49
8#
Noword 发表于 2012-6-23 17:16
对...但是,为什么会这样?

你可以在你的电脑上建一个名叫con的文件夹或者文件试试,微软会告诉你为什么!
回复 使用道具 举报
微软什么也没说
还是要百度
http://hi.baidu.com/%B0%AE%D0%C4%CD%AC%C3%CB_%B3%C2%F6%CE/blog/item/9ad0743ebcfd53f2828b13bd.html
回复 使用道具 举报
学习了,谢谢大家~~
回复 使用道具 举报
哥们您太有才了。。。
学习了,con哈哈
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马