[#3249] ruby for mswin32 — KIMURA Koichi <kkimura@...>
[#3257] mini-reference (syntax) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
前田です。
[#3305] Observable#notify_observers — shugo@... (maeda shugo)
前田です。
[#3312] multi-line comment — shugo@... (maeda shugo)
前田です。
[#3329] meta programming features — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろ%最終出社日です
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
[#3350] [Q] eql? and == — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
[#3375] Exception — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
[#3378] ML分割 — takagi@... (TAKAGI Hiromitsu)
ところで、話は変わって、ひとつ提案です。
[#3403] sorry for ruby-list trouble — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
[#3411] no cbreak in curses module — Shoichi OZAWA <ozawa@...>
こんにちは 小澤@日立 です。
[#3417] [Bug] String#sub — shugo@... (maeda shugo)
前田です。
[#3429] [Req] println — shugo@... (maeda shugo)
前田です。
[#3434] [Q] Thread — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
けいじゅ@今はフリー(^^;;;です.
まつもと ゆきひろです
前田です。
前田です。
前田です。
<199707301029.TAA25172@hoyogw.netlab.co.jp> の、
けいじゅ@今はフリー(^^;;;です.
<199707311103.UAA08460@hoyogw.netlab.co.jp> の、
けいじゅ@今はフリー(^^;;;です.
[#3470] [Problem] for local class — keiju@... (Keiju ISHITSUKA)
けいじゅ@今はフリー(^^;;です.
[#3502] Re: .to_f result — 渡辺博文 <VYV01212@...>
わたなべです.
[ruby-list:3528] Re: [Q] Thread
前田です。
keiju@bc.mbn.or.jp (石塚圭樹 ) san wrote:
|>thread awareが必要なライブラリもありますが(たとえばtk),基本
|>的にはaだと思っています.
|
|についてですが, そのオブジェクトに対して排他制御するのであれば, Mutex
|を使えば実現できるんでしょうけど, 下図の様に, 内部に依存したオブジェク
|トがあってそれに対して排他制御を行わなくてなならないパターンの場合:
|
| a_Foo_1 -+
| +--> a_Bar
| a_Foo_2 -+
|
| a_Barを同時アクセスすると異常動作する.
|
|ユーザレベルでは対応できなくて(しよう思うとThread.critical = FALSEしか
|ない), クラスライブラリレベルで対応してもらわないと困りますね.
a_Barのクラスも安全に排他制御するように設計しておけば大丈夫ではないでしょうか?
module Synchronizable
def check_mutex
@mutex = Mutex.new if @mutex == nil
end
private :check_mutex
def lock
check_mutex
@mutex.lock
end
def locked?
check_mutex
@mutex.locked?
end
def synchronize
check_mutex
@mutex.synchronize {
yield
}
end
def try_lock
check_mutex
@mutex.try_lock
end
def unlock
check_mutex
@mutex.unlock
end
end
みたいなモジュールを用意しておいて、排他制御したい時は
class Foo
include Synchronizable
# 同時にアクセスされたくないメソッド
def synchronized_method
synchronize {
...
}
end
end
のようにすればそんなに手間はかからないと思うのですがどうでしょう?
--
前田 修吾