けいじゅ@今はフリー(^^;;;です. 

In [ruby-list :03461 ] the message: "[ruby-list:3461] Re: [Q] Thread
", on Jul/25 09:17(JST) matz / netlab.co.jp (Yukihiro Matsumoto) writes:

>|>|1. 組み込みの関数/メソッドはatomicか?
>|>
>|>その保証はありません.

>|例えば, eval "class Foo; def foo..." と eval "class Foo; def bar..."
>|は排他制御する必要があるない? 
>
>ああ,いちおう文法に組み込んである機能はatomicだと思っても良
>いです.もし,組み込み機能でatomicでない部分が残っていればバ
>グとして対応するつもりがあります.

なるほど. 文法上の機能はユーザ側で制御するのは不可能に近いですしね.

>ついでにいうと現状ではHashを含めて組み込みメソッドもatomicになってい
>るはずですが,こちらは「努力はするが保証しない」ということにしておき
>ます.

何か問題あった時には, 他に問題がない限りリクエストすれば対応してくれるっ
て感じですかね?

>|それと, atomicでないとしても, 落ちない保証ぐらいは期待して良いんでしょ
>|うか?
>
>保証というと大変なのですが.

組み込み関数/メソッドは, 現状ではどのくらいまで, atomicになっているん
でしょうかね? 全て対応されているつもり?

>|* 同じHashに同時に書き込んでも問題ないとか...
>|* stdoutに同時に書き込んでも問題ないとか...
>|
>|どうなんでしょう...
>
>この程度は大丈夫です.

了解. 

基本的に全てatomicになっていると思ってプログラム組んでいいんですかね?
対応していないと思ってプログラム組むのと対応していると思ってプログラム
組むのとでは, えらい負担が違うもので...

>|>|2. ユーザレベルライブラリ(**.rb)のスレッド対応

>|なるほど, そんなもんですかねえ... ところで, なぜ tkはthead awareなんで
>|しょう?
>
>現在のtk.rbがwishとパイプでつないで通信しているので,普通に
>実装すると複数threadからのリクエストが混ざってしまうんです.
>んで,wishとの通信を担当するthreadを立ち上げてtkへのリクエス
>トをキューで通信しています.

なるなる. 実装上の理由からなんですね.

__
.........................................石塚 圭樹@今はフリー(^^;;...
------->>また, アドレス変わりました!! e-mail: keiju / bc.mbn.or.jp <<---