# Monitor.rb for ruby-1.9

**URL:** <https://www.ruby-forum.com/t/monitor-rb-for-ruby-1-9/88156>\
**Category:** Development\
**Created:** [March 8, 2007, 3:41pm UTC](https://www.ruby-forum.com/t/monitor-rb-for-ruby-1-9/88156 "2007-03-08T15:41:10Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [March 8, 2007, 3:41pm UTC](https://www.ruby-forum.com/t/monitor-rb-for-ruby-1-9/88156/1 "2007-03-08T15:41:10Z")

</div>

e$B$1$$$8$e!w$$$7$D$+$G$9e(B.

ruby 1.9 e$B$Ne(B monitor.rb e$B$G$9$,e(B,

def mon\_try\_enter  
if @mon\_owner != Thread.current  
unless @mon\_owner.trylock #\<— e$B$3$3e(B  
return false  
end  
@mon\_owner = Thread.current  
end  
@mon\_count += 1  
return true  
end

e$B$Ne(B e$B!X$3$3!Y$Oe(B

```
  unless @mon_mutex.trylock #<--- e$B$3$3e(B

```

e$B$N4V0c$$$G$Oe(B?

\_\_  
----------------------------------------------------\>\> e$B@PDMe(B  
e$B7=\<ye(B \<\<—  
----------------------------------\>\> e-mail: removed\_email\_address@domain.invalid \<\<—

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [March 12, 2007, 11:30pm UTC](https://www.ruby-forum.com/t/monitor-rb-for-ruby-1-9/88156/2 "2007-03-12T23:30:07Z")

</div>

e$BA0ED$G$9!#e(B

On 03/08/2007 11:40 PM, Keiju ISHITSUKA wrote:

> e$B$Ne(B e$B!X$3$3!Y$Oe(B
> 
> ```
> unless @mon_mutex.trylock #<--- e$B$3$3e(B
> 
> ```
> 
> e$B$N4V0c$$$G$Oe(B?

e$B%a%=%C%IL\>$b4V0c$C$F$$$k$h$&$G!"e(B

unless @mon\_mutex.try\_lock

e$B$,@5$7$$$G$9$M!#e(B

e$B@h$[$I=$@5$re(Bcommite$B$7$^$7$?$N$G$43NG’$/$@$5$$!#e(B

YARVe$B$N$?$a$K$I$J$?$+$K=$@5$7$F$$$?$@$$$?$h$&$J$N$G$9$,!"$"$^$je(B  
e$BF0:n$O3NG’$5$l$F$$$J$5$=$&$G$9!#e(B  
e$B9g=I$N;~$Ke(Bsynchronizee$B$,F0$/DxEY$K$O=$@5$7$?$N$G$9$,!"D\>$7$-$l$Fe(B  
e$B$$$^$;$s$G$7$?!#$9$\_$^$;$s!#e(B

---

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [March 13, 2007, 10:59am UTC](https://www.ruby-forum.com/t/monitor-rb-for-ruby-1-9/88156/3 "2007-03-13T10:59:41Z")

</div>

e$B$1$$$8$e!w$$$7$D$+$G$9e(B.

In [ruby-dev:30550] the message: “[ruby-dev:30550] Re: monitor.rb for  
ruby-1.9”, on Mar/13 07:29(JST) Shugo M. writes:

> e$BA0ED$G$9!#e(B

> e$B%a%=%C%IL\>$b4V0c$C$F$$$k$h$&$G!"e(B  
> unless @mon\_mutex.try\_lock  
> e$B$,@5$7$$$G$9$M!#e(B

e$B$"$i$^e(B(^^;

> e$B@h$[$I=$@5$re(Bcommite$B$7$^$7$?$N$G$43NG’$/$@$5$$!#e(B
> 
> YARVe$B$N$?$a$K$I$J$?$+$K=$@5$7$F$$$?$@$$$?$h$&$J$N$G$9$,!"$"$^$je(B  
> e$BF0:n$O3NG’$5$l$F$$$J$5$=$&$G$9!#e(B  
> e$B9g=I$N;~$Ke(Bsynchronizee$B$,F0$/DxEY$K$O=$@5$7$?$N$G$9$,!"D\>$7$-$l$Fe(B  
> e$B$$$^$;$s$G$7$?!#$9$\_$^$;$s!#e(B

e$B$o$?$7$be(B,  
ruby-1.9e$B7O$Ge(Bsync.rbe$B$J$I$,F0$+$J$$$3$H$K5$$,IU$$$Fe(B,  
e$B=$@5$7$Fe(B  
e$B$$$Fe(B monitor.rb  
e$B$H$+$O$I$&$J$C$F$$$k$+$H;W$C$FD4$Y$F$$$?$i5$$,IU$-$^$7e(B  
e$B$?e(B.  
ruby-1.9e$B$K$J$C$FF0$$$F$$$J$$$N$,7k9=$"$k$h$&$J5$$,$9$ke(B…

\_\_  
----------------------------------------------------\>\> e$B@PDMe(B  
e$B7=\<ye(B \<\<—  
----------------------------------\>\> e-mail: removed\_email\_address@domain.invalid \<\<—
