java线程问题,请高手帮忙

[复制链接]
查看11 | 回复2 | 2010-6-11 14:11:37 | 显示全部楼层 |阅读模式
打个比喻:
有2个账户
int x=1;
int y=2;
有1个方法是取货:
/**
* 提取货物
* @param id
*
提取人的id号
*/
public void getObject(int id){
// ... ...
}
要求:
当2个人同时各自拿着不同的账号去取货时(即,2个线程同时调用getObject方法)
可以同时为2个人取货(即:getObject()方法可以支持多线程调用)
当2个人同时拿着同一个账号去取货时(即,2个线程同时调用getObject方法)
就必须排队第一个取好了第二个再取 (即:getObject()方法可以不支持多线程 synchronized 效果 )
二楼误会我的意思了
当2个人同时各自拿着“不同的账号”去取货时 “可以同时”为2个人取货
您这个意思是不管什么账号都需要等待

回复

使用道具 举报

千问 | 2010-6-11 14:11:37 | 显示全部楼层
如下代码希望给你来帮助package help;class Thing{ private static int thingCount = 100;//总计 String name; public Thing(String name) {this.name = name; } public synchronized static void deposit(float count) {thingCount += count;try{ Thread.sleep(10);// 模拟其它处理所需要的时间,比如刷新数据库等}catch (Interrup
回复

使用道具 举报

千问 | 2010-6-11 14:11:37 | 显示全部楼层
很简单的一个问题,不过现在不想写代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行