由连接池想到的一个问题

waynewang 2008-02-12 10:06:35
假设: 使用者 A 管理池者 B 连接池 C 连接者 D

现在 A 通过 B 从 C 那里获取了一个 D

那么请问 怎么样 才能够限制 A 不能把 D 再次传给别的使用者

就好比 我去中介公司找个小时工来家里打扫卫生 小时工扫除完后就回去了 我不可能再让小时工去别的地方
干活去了(因为小时工只听中介公司的安排)

请问该怎么样写呢 先谢过各位了 ^_^
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
约翰羊 2008-02-13
  • 打赏
  • 举报
回复
楼主,冲你的名字,我也得UP
顶!
老紫竹 2008-02-13
  • 打赏
  • 举报
回复
不能!即使你根据线程编号判断也没用,因为现在都是线程池,也是重复利用的!

还有,既然你自己获得的连接,你为什么要给其他人呢?? 这是你自己的问题啊!!??
如果你不主动给其它人,他们怎么能用呢? 连接池不会把一个资源重复分配给2个用户的。 直到你归还了!

在声明一次,这是你的问题,不是系统的问题!!系统是你写的哦!!明白??
waynewang 2008-02-13
  • 打赏
  • 举报
回复
那么换一种方式 怎么样才能限制 某个对象只能够被管理方分配 第三方无权分配呢

就好比 我获得这个引用,能够随意的使用 除了不能再分配该引用之外 (就像是合成的关系那样)

或者 举个极端的例子 一个人有一个脑袋 这个脑袋是不能够再给别人的

这咋办呢
老紫竹 2008-02-13
  • 打赏
  • 举报
回复
这是你的设计问题,呵呵!

而且,一个线程里面不存在同时使用问题,肯定有先后的。

如果多个线程用一个?呵呵呵!!! 自己想吧!
waynewang 2008-02-13
  • 打赏
  • 举报
回复
那么比如说 某个使用者在归还连接之前又把连接传递给了别的使用者然后再归还那个连接

这样的话不就乱了嘛!

此时就有两个人持有同一个连接的引用(管理者和另一个使用者各持有一个引用),这样岂不是很危险啊
老紫竹 2008-02-13
  • 打赏
  • 举报
回复
在一个线程里面不能。

东西在我这里,我想怎么用是我的事情,我用完了,还给你之后,你才有可能管理。

也可以理解成,我做一个二级代理啊!呵呵呵!!!!

一般B/S程序,一个线程里面获得的连接,都会使用后马上归还的。
C/S很难说了,有可能不归也可以吧!!!呵呵!!

62,614

社区成员

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

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