File: mutexm.rd.ja

package info (click to toggle)
libmutexm-ruby 1.0.1-3
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 56 kB
  • ctags: 56
  • sloc: ruby: 464; makefile: 45
file content (120 lines) | stat: -rw-r--r-- 3,200 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
=begin
=MutexM module
ǤդΥ֥ȤMutexεǽͿ mix-in
Τ褦ħ롣
  * MutexƱͤ˥֥ȤФlock/unlock/synchronizeǤ롣
  * lockΥåɤsynchronizeǽǤ롣synchronizelock
    ֤Ѳʤ
  * synchronize attr_reader/writer/accessor Ǥ롣
  * lockƤʤ㳰ȯ attr_reader/writer/accessor Ǥ롣
  * ᥽åɤ̾ synchronize ǤƱ̾Υ᥽åɤǤ롣

ץʲ˼

      require 'mutexm'
 
      class Balance
        include MutexM
        def initialize(f,b)
          @foo = f
          @bar = b
          super
        end
        synchronize_reader(:foo, :bar)

        def move(d)
          @foo = @foo + d
          @bar = @bar - d
          [@foo, @bar]
        end
        synchronized :move
      end

      foo = Balance.new(10, 0)
      p foo.move(5)

==ѹ

1.0.1
    * initializemu_initializeʬ䡣[ruby-dev:13467]

0.9.2
    * 㤦åɤunlockǤХν
    * lockԤΥåɤkill줿б

0.9.1
    * synchronize_reader/writer/accessor, lock_reader/writer/accessor,
      synchoronized ʣ̾Ʊ˻Ǥ褦ˤ
    * initializeʤƤư褦ˤŪ(?)ˤɤϵ䡣

0.9
    * ǽθС


==Module Methods:

--- MutexM.initialize
    MutexM

--- MutexM.mu_initialize
    MutexM

--- MutexM.synchronize_reader(name)
    synchronize attr_reader(name) 롣

--- MutexM.synchronize_writer(name)
    synchronize attr_writer(name) 롣

--- MutexM.synchronize_accessor(name)
    synchronize attr_accessor(name) 롣

--- MutexM.lock_reader(name)
    lockƤʤ㳰Ȥʤ attr_reader(name) 롣

--- MutexM.synchronize_writer(name)
    lockƤʤ㳰Ȥʤ attr_writer(name) 롣

--- MutexM.synchronize_accessor(name)
    lockƤʤ㳰Ȥʤ attr_accessor(name) 롣


--- MutexM.synchronized(methodname)
    ᥽å methodname ̾synchronize ᥽åɤ
    롣Υ᥽åɤ _mu_methodname Ȥʤ롣


==Methods:

줾 mu_ ǻϤޤƱ̾Υ᥽åɤ롣

--- MutexM#synchronize
    ֥Ȥå֥å¹Ԥ롣¹Ը˥å롣
    åɤåξ硢synchronize ϥåξ֤
    Ѳ֥å¹Ԥ롣Ť synchronize Ƥ⡢¦
    synchronize ϥåѲʤ

--- MutexM#locked?
    åƤ硢֤

--- MutexM#try_lock
    å褦Ȥơå硢֤åǤʤä
    ˤϥ֥å֤

--- MutexM#lock
    ֥Ȥå롣٤˰ĤΥåɤåǤ롣
    ˥åƤ륪֥ȤФƥåԤȤåɤ
    åޤǥ֥å롣


--- MutexM#unlock
    å롣åԤˤʤäƤåɤμ¹ԤϺƳ롣


--- MutexM#in_synchronize
    åɤåƤʤ硢㳰ȯ롣åƤ뤳Ȥ
    ɽȤʤ롣


Copyright (c) 2000-2001 Masatoshi SEKI
((<m_seki@mva.biglobe.ne.jp|URL:mailto:m_seki@mva.biglobe.ne.jp>))
=end