仕事でプログラミング言語でコレ使えっていわれるなら別だけど、
慣れた・好きな言語を使うのがいいね。
Perlでforkでモジュールに頼らずに変数共有できないかな、と思って少し考えた事をやってみた。
参照を取ればいけるんじゃね?
参照を取ればその参照の値もコピーされるから、参照先の値を共有変数にできるんじゃね?
use strict; my $g = 0; my $rg = \$g; foreach my $x (0..100){ !fork() && next; print "子 [$x] \$rg:$rg \$\$rg:", ++$$rg ," \\\$g:", \$g ,"\$g:$g\n"; exit(0); } wait;
当然、ダメでした。というか、これができたら他に情報あるよねー。
オブジェクトを作ってもだめ(オブジェクトもぶっちゃけパッケージ名がついた参照ry)。
forkって親プロセスの変数をそっくりコピーするだけかと思ってたら、
参照の参照先の値自体も別領域に作られるようだから、結構複雑みたいですね。
forkとかthreadsっていったい何?というレベルの知識じゃ甘すぎましたね。
プロセス≒スレッドとか思ってたぐらい。もっと知る必要があるなぁ。