共享锁和独占锁的经典应用

  1. 共享锁和独占锁的经典应用,是控制最初用于读取的共享文件的更新。某个进程要读取文件, 会先取得该文件或该文件部分区域的共享锁。第二个希望读取相同文件区域的进程也会请求共享 锁。两个进程可以并行读取,互不影响。但是,假如有第三个进程要更新该文件,它会请求独占 锁。该进程会处于阻滞状态,直到既有锁定(共享的、独占的)全部解除。一旦给予独占锁,其他 共享锁的读取进程会处于阻滞状态,直到独占锁解除。这样,更新进程可以更改文件,而其他读取 进程不会因为文件的更改得到前后不一致的结果。

  2. 文件锁有建议使用和强制使用之分。建议型文件锁会向?出请求的进程?供当前锁定信息,但 操作系统并不要求一定这样做,而是由相关进程进行协调并关注锁定信息。多数 Unix 和类 Unix 操 作系统使用建议型锁,有些也使用强制型锁或兼而有之。

    强制型锁由操作系统或文件系统强行实施,不管进程对锁的存在知道与否,都会阻止其对文件
    锁定区域的访问。微软的操作系统往往使用的是强制型锁。假定所有文件锁均为建议型,并在访问
    共同资源的各个应用程序间使用一致的文件锁定,是明智之举,也是唯一可行的跨平台策略。依赖
    于强制文件锁定的应用程序,从根子上讲就是不可移植的。

3.

java.nio 中的类被特意地设计为支持级联调用。您可能已经在 StringBuffer 类中看

到了级联调用的使用。

如果聪明地使用级联调用,就能产生简?,优?,易读的
代码。但如果?用,就会使代码不知所?。当级联调用可
以增加可读性并使让您的目标更加明确时使用它。如果使
用级联调用会使代码作用不够清晰,那么请不要使用它。
请时刻保证您的代码易于他人阅读。

转载于:https://my.oschina.net/u/1037605/blog/761018

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值