迅速掌握Ruby文件锁概念

开发 开发工具
Ruby文件锁的操作一般分为锁文件和解锁文件两种。我们可以分别通过使用File的flock方法来实现这一功能需求。下面将会做一个具体的介绍。

Ruby语言是一款完全面向对象的脚本语言。其灵活性,易操作等特有的性质被众多编程人员所接受。在这里我们将会认识到Ruby文件锁的一些相关概念。#t#

操作系统提供文件锁,File的flock方法将会锁或者解锁一个文件,它的参数是下面的实例中的任意一个. File::LOCK_EX, File::LOCK_NB, File::LOCK_SH, File::LOCK_UN,或者用逻辑操作符or来组合这些Ruby文件锁实例.

 

  1. file = File.new("somefile")   
  2. file.flock(File::LOCK_EX)   
  3. # 排他锁; 一个时刻只能有一个
    进程获得锁。   
  4. file.flock(File::LOCK_UN)   
  5. # 现在解锁。   
  6. file.flock(File::LOCK_SH)   
  7. #共享锁,一个时刻,可以有多个
    进程获得给定文件的锁。   
  8. file.flock(File::LOCK_UN)   
  9. # 解锁   
  10. locked = file.flock(File::
    LOCK_EX | File::LOCK_NB)   
  11. #lock_nb表示加锁时不阻塞,
    因此这边将会返回false   

希望通过上面介绍的Ruby文件锁具体操作方法,对大家有所帮助。

责任编辑:曹凯 来源: ddvip.com
相关推荐

2009-12-14 16:35:28

Ruby文件行数计算

2009-12-14 15:54:34

Ruby转义字符

2009-12-14 17:23:31

2009-12-18 14:19:45

Ruby on Rai

2010-01-07 11:07:20

VB.NET读取INI

2009-12-16 14:51:26

Ruby nil

2009-12-10 14:18:22

PHP导出Word文档

2009-12-14 18:23:38

Ruby DSL测试

2009-12-18 15:56:05

Ruby特殊语法

2009-12-17 11:27:31

Ruby时间方法

2009-12-14 18:14:27

Ruby DSL

2009-12-18 15:24:52

2009-12-15 15:55:43

Ruby模块

2010-01-12 10:19:02

VB.NET操作GDI

2009-10-29 13:38:05

VB.NET Shar

2010-01-11 14:28:14

VB.NET操作Exc

2009-12-04 14:23:33

PHP JSON加密函

2009-12-16 16:24:00

Ruby on Rai

2009-12-16 14:33:21

Ruby哈希表

2009-12-18 17:20:00

Ruby核心类
点赞
收藏

51CTO技术栈公众号