[#2906] DLL for GNU Win32 — WATANABE Hirofumi <watanabe@...>
わたなべです.
5 messages
1997/05/06
[#2910] thread and fork — jkuro@... (Jun Kuroda)
黒田です。
15 messages
1997/05/07
[#2911] Re: thread and fork
— matz@... (Yukihiro Matsumoto)
1997/05/07
まつもと ゆきひろです.
[#2912] Re: thread and fork
— jkuro@... (Jun Kuroda)
1997/05/07
黒田です。
[#2913] Re: thread and fork
— matz@... (Yukihiro Matsumoto)
1997/05/07
まつもと ゆきひろです.
[#2914] Re: thread and fork
— jkuro@... (Jun Kuroda)
1997/05/07
黒田です。
[#3023] Re: thread and fork
— jkuro@... (Jun Kuroda)
1997/05/27
黒田です。
[#3025] Re: thread and fork
— matz@... (Yukihiro Matsumoto)
1997/05/28
まつもと ゆきひろです
[#2922] chap 1 draft #2 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
7 messages
1997/05/09
[#2936] How to create ext — Eiji-usagi-MATSUmoto <ematsu@...>
うさぎです。
8 messages
1997/05/13
[#2938] Re: How to create ext
— matz@... (Yukihiro Matsumoto)
1997/05/13
まつもと ゆきひろです.
[#2952] [BUG] Dir.glob — sinara@...
原です。おひさしぶりです。
6 messages
1997/05/16
[#2960] dl-malloc — jkuro@... (Jun Kuroda)
黒田です。
9 messages
1997/05/19
[#2978] Re: [s-lang:00052] Re: Python/Ruby Jed — MAEDA Shugo <shugo@...>
前田です。
6 messages
1997/05/20
[#3005] Matrix — MAEDA Shugo <shugo@...>
前田です。
13 messages
1997/05/22
[#3006] Re: Matrix
— matz@... (Yukihiro Matsumoto)
1997/05/22
まつもと ゆきひろです
[#3026] ruby 1.0-970528 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
9 messages
1997/05/28
[#3027] Re: ruby 1.0-970528 released
— MAEDA Shugo <shugo@...>
1997/05/28
前田です。
[#3031] Re: ruby 1.0-970528 released
— matz@... (Yukihiro Matsumoto)
1997/05/29
まつもと ゆきひろです
[#3028] Can I use non IO object for $stdout? — MAEDA Shugo <shugo@...>
前田です。
7 messages
1997/05/28
[#3030] Re: Can I use non IO object for $stdout?
— matz@... (Yukihiro Matsumoto)
1997/05/29
まつもと ゆきひろです
[#3050] flock (BSD/OS 2.0 i386) — gotoken@... (GOTO Kentaro)
後藤です。
6 messages
1997/05/30
[#3055] ruby 1.0-970530 released — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
5 messages
1997/05/30
[ruby-list:3025] Re: thread and fork
From:
matz@... (Yukihiro Matsumoto)
Date:
1997-05-28 02:01:17 UTC
List:
ruby-list #3025
まつもと ゆきひろです
In message "[ruby-list:3023] Re: thread and fork"
on 97/05/27, Jun Kuroda <jkuro@dwe.co.jp> writes:
|黒田です。
|その後ですが、
|
| > > forkはメモリ空間を共有しない
|
|-おおざっぱに --
|
|class Log
| #構造体定義もある
| ...
|end
|
|def session
| log = Log.new
| log.set構造体
| ...
|end
|
|thread.start{
| session()
|}
|- --
|
|みたいなプログラムで、thread 間で log の構造体を共有してるよ
|うなのです。こう書けば共有しないような気がしたのですが、どう
|書くのが正しいのでしょう?
それは「名前空間を共有しない」ですね.メモリ空間を共有しない
ということはどうやっても同じオブジェクトを参照できないという
意味です.実用上はあまり変わりなく使えますけど.
良くやるのはイテレータブロック内で初出のローカル変数は共有さ
れないことを利用して
Thread.start do
log = Log.new
log.set構造体
...
end
ですね.ここで「うっかり」イテレータブロックの外側でlogって
名前の変数を使っちゃうと痛い目に遭いますが.
| > > forkの切替えのタイミングは不正確/threadはもっと不正確
|
|について。system(とっても重いelispプログラム) を呼ぶ thread
|が処理を奪ったままなので, 試しに(懲りずに)fork を狭んでみると
|うまく行きました。そんなもんなんでしょうか。
systemがwaitでブロックしちゃうせいですね.ほとんどバグの領域
だと思います.次のリリースで修正しようと思います.
まつもと ゆきひろ /:|)