Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 有条件的同步方法
【标  题】:有条件的同步方法
【关键字】:
【来  源】:http://www.blogjava.net/yangxp/archive/2006/10/09/74075.html

有条件的同步方法

Your Ad Here ??? 在做多线程程序时我们可能要对某段代码的同步是有条件的,只有对满足同一条件的请求才排队访问,对与不满足这样条件的请求可以并发访问,在处理这样的需求的时候我们可以容易的想到,对于这个特定的条件做一个抽象,让它作为我们同步锁。下面的代码可以说明这个处理过程:
?1?
?2?//?定义锁
?3?private?Map?locks?=?new?HashMap();
?4?private?Object?getLock(Object?key)?{
?5?????synchronized?(locks)?{
?6?????????if?(!locks.containsKey(key))?{
?7?????????????locks.put(key,?new?Object());
?8?????????}
?9?????????return?locks.get(key);
10?????}
11?}
12?
13?//?需要同步的代码
14?synchronized?(getLock(id))?{
15?????//?TODO
16?}
17?
18?

关于Facade的应用:【上一篇】
Church Number:【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • Firefox浏览器使用方法问答(中)
  • Visual Basic 控件数据
  • SQL修改字段函数
  • 一个完全使用perl编写的blog网站
  • unix常用管理命令
  • 浅析:setsockopt()改善socket网络程序的健壮性
  • Dom4j编码问题
  • 硬件测试
  • CString,string,char*的综合比较(一)
  • uml 扩展机制概述和约束
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.