[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)

先日、初めて投稿したつもりだったのですが間違えて

14 messages 1997/10/02

[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)

前田です。

13 messages 1997/10/10

[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

14 messages 1997/10/15

[#5056] RubyでOODB — hisanori@...

松尾です。

20 messages 1997/10/20
[#5057] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[#5065] Re: RubyでOODB — hisanori@... 1997/10/20

松尾です。

[#5066] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[ruby-list:5193] Re: Is tcl/tk C library thread safe ? (Re: )

From: matz@... (Yukihiro Matsumoto)
Date: 1997-10-31 04:07:08 UTC
List: ruby-list #5193
まつもと ゆきひろです

In message "[ruby-list:5191] Is tcl/tk C library thread safe ? (Re: )"
    on 97/10/31, Yuji Shigehiro <sigehiro@asama.rd.ecip.osaka-u.ac.jp> writes:

|しげひろです.

|1. tcl, tk の C ライブラリでは, インタプリタはオブジェクト扱い(と言え
|ば良いのか??) で, 複数生成することもできるようです. (実際, tcltklib に
|つけた sample0.rb では, 複数生成しています.) ただし, もちろんイベント
|ループ (Tk_MainLoop) 大域変数扱い(?) で一つだけです. これが問題なので
|しょうか???

そういうことではなくて.一つのインタプリタの中での話です.

|2. man Tcl_Eval すると,
|
|During the processing of a Tcl command it is legal to make
|nested  calls to evaluate other commands (this is how con-
|ditionals, loops, and procedures are implemented).  
|
|とあります. すなわち, 再入可能なのではないかと...

ええと,単一スレッドでTcl_Evalが呼び出せるという意味では再入
可能であるといえるのでしょうけど,スレッドがあるとプログラム
の任意の位置で割り込まれる可能性があるのでかなり厳しいです.

ただし,

|3. ruby の thread は, ruby インタプリタが制御を握っている時にしか,
|task switch が起きないわけですよね. すなわち, tcl, tk ライブラリが制御
|を握っている怪しげなタイミングで task switch が起きることはないと...

これは確かに事実なんで大丈夫かも知れないなあと思ってはいます.
実際のところどうなんでしょうね.

|1. はどうでも良いと思いますが, 2. と 3. を考えると, tcl, tk の C ライ
|ブラリは ruby の thread に対しては safe と言って良いと思うのですが.

そうかもしれないなあ.

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next