急~~在线等 关于如何锁定java方法

lxj_1125 2005-03-11 11:00:59
目的在于当有用户在调用该方法时,禁止其它用户调用
...全文
63 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
lxj_1125 2005-03-11
谢谢大家,我知道怎么做了
回复
wenchaohu213 2005-03-11
很多书上有的,就是线程的同步管理!
回复
zcjl 2005-03-11
比如Hashtable的get方法定义如下:
public synchronized Object get(Object key) {
Entry tab[] = table;
int hash = key.hashCode();
int index = (hash & 0x7FFFFFFF) % tab.length;
for (Entry e = tab[index] ; e != null ; e = e.next) {
if ((e.hash == hash) && e.key.equals(key)) {
return e.value;
}
}
return null;
}

加了synchronized限制后,同一时刻,get方法就只允许被一个线程调用
回复
Mikeyang 2005-03-11
方案
在类里面声明一个静态属性
public class test{
//静态
private static String strTest;

public test{
if (strTest == null) strTest = 0;
}

public void A1() {
if ("0".equals(strTest)) {
B1();
}
}

public void B1() {
//锁
strTest = 1;

......


//开
strTest = 0;
}

}

大概可以吧
回复
slaterky 2005-03-11
找一本关于线程的书看看就知道了
回复
lxj_1125 2005-03-11
能不能给出一点详细的程序代码
谢谢
回复
zcjl 2005-03-11
加synchronized限制,进行同步管理
回复
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2005-03-11 11:00
社区公告
暂无公告