初级问题,高手解答

mx1029 2003-10-27 10:06:37
小弟是java的初学者。大家能告诉我vetor和synchronized到底怎么用么?谢谢。
...全文
30 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
mx1029 2003-10-31
  • 打赏
  • 举报
回复
我把贴结了,希望你看到后加我为好友。
我的qq是7143324
邮箱:mx1029@yahoo.com.cn
谢谢了。:)
mx1029 2003-10-31
  • 打赏
  • 举报
回复
哦。差点忘了,lahu0578你有关于这个问题的具体文档么,或者推荐给小弟几本好书。我想好好研究一下它们的用法。我还只是个初学者。
mx1029 2003-10-31
  • 打赏
  • 举报
回复
非常感谢大家,特别是lahu0578,马上送分
lahu0578 2003-10-31
  • 打赏
  • 举报
回复
上边我发的关于synchronized的程序是同步的典型程序,操作系统里也讲过。
下边是vector的用法:
package store.util;

import java.util.*;

public class ShoppingCart
{
private Vector cart;

public ShoppingCart()
{
cart = new Vector(2,2);
}

public Item getItem(int i)
{
return (Item)cart.get(i);
}

public void addItem(Item item)
{
cart.add(item);
}

public int getSize()
{
return cart.size();
}
}
zhengcuixia198132 2003-10-30
  • 打赏
  • 举报
回复
可以在举个vector的例子吗?
yangtaylor 2003-10-30
  • 打赏
  • 举报
回复
<<thinking in java>>,jdk文档,自选一本。
lahu0578 2003-10-30
  • 打赏
  • 举报
回复
class Pizza
{
private int pizzaNum;

public Pizza(int num)
{
this.pizzaNum = num;
}

public synchronized void produce()
{
while (pizzaNum >= 10)
{
try
{
wait();
}
catch (Exception e) {}
}
pizzaNum++;
System.out.println("Produce a new pizza, current pizza num: "+pizzaNum);
notifyAll();
try
{
Thread.sleep(1000);
}
catch(Exception e){}
}
public synchronized void consume()
{
while (pizzaNum <= 0)
{
try
{
wait();
}
catch (Exception e) {}
}
pizzaNum--;
notifyAll();
System.out.println("Consume a pizza, current pizza num: "+pizzaNum);
try
{
Thread.sleep(1000);
}
catch(Exception e){}
}
};

class Cooker extends Thread
{
Pizza p;
public Cooker(Pizza p)
{
this.p = p;
this.setPriority(10);
this.start();
}
public void run()
{
while (true)
{
p.produce();
}
}
};
class Consumer extends Thread
{
Pizza p;
public Consumer(Pizza p)
{
this.p = p;
this.start();
}
public void run()
{
while (true)
{
p.consume();
}
}
};

class DemoPizzaStore
{
public static void main(String[] args)
{
Pizza p = new Pizza(0);
Cooker p1 = new Cooker(p);
Cooker p2 = new Cooker(p);
Consumer c1 = new Consumer(p);
Consumer c2 = new Consumer(p);
Consumer c3 = new Consumer(p);
}
}
mx1029 2003-10-30
  • 打赏
  • 举报
回复
1天没有来帖子就沉底了。。。我继续关注。
mx1029 2003-10-28
  • 打赏
  • 举报
回复
望大师指点~~~~说具体点。。。
superszhu 2003-10-27
  • 打赏
  • 举报
回复
vetor是个容器,能把不同的对象放在里面,可象数组一样操作。


synchronized 关键字锁定对象。对象是在 synchronized 代码内部被锁定的,要调用里面的对象,就必须一个一个排着队进行。
mx1029 2003-10-27
  • 打赏
  • 举报
回复
请大家教教我。谢谢了。
mx1029 2003-10-27
  • 打赏
  • 举报
回复
写错了,是vector.
qijiahao 2003-10-27
  • 打赏
  • 举报
回复
现在的java书泛滥其实好的没有。全是天下文章一大抄。呵呵
vector是一个可变长的数组。synchronized是一个同步机制。
mx1029 2003-10-27
  • 打赏
  • 举报
回复
有这方面的电子资料么?我买的书里用到了,可是对它们的用法却没有提。。。都是些什么破书啊。。。。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧