Goでforkしたいとかgoroutine IDが欲しいとか言わない
golangでforkってどうやるんだ
— 単位落としました (@moznion) 2014, 9月 14
@moznion できねぇよ
— Daisuke Maki (@lestrrat) 2014, 9月 14
@moznion 外部プロセスの起動、ならできる。
— Daisuke Maki (@lestrrat) 2014, 9月 14
@moznion でもforkしたい、という考え(設計)を改めるのが先です。
— Daisuke Maki (@lestrrat) 2014, 9月 14
@lestrrat なんということだ……
— 単位落としました (@moznion) 2014, 9月 14
forkはできないとのこと
— 単位落としました (@moznion) 2014, 9月 14
考えを改めている
— 単位落としました (@moznion) 2014, 9月 14
特定のgoroutineだけ殺す、みたいなこともできねえのか
— 単位落としました (@moznion) 2014, 9月 14
@moznion おい、わけえの。まず俺のトークスライドをよまねぇか http://t.co/AKyRzwM4Nf
— Daisuke Maki (@lestrrat) 2014, 9月 14
@lestrrat 僕の知りたかったことがほとんど書いていたッ……!! ありがとうございます
— 単位落としました (@moznion) 2014, 9月 14
ということは、特定のgoroutineを終了させる為にはそのgoroutineに応じたメッセージをchannelで送ってやれば良いのか
— 単位落としました (@moznion) 2014, 9月 14
@moznion そうなんだけど、多分そもそもそのgoroutineを外部から殺そうと思っている時点で設計が違う。(多分。もちろん時と場合によるけど、POSIXひきずってるとそれがそもそも間違ってる事が多い)
— Daisuke Maki (@lestrrat) 2014, 9月 14
牧さんに今日だけで3度ほど命を救われている
— 単位落としました (@moznion) 2014, 9月 14
もうだれも買わない可能性が高いすでに5年も前のモダンPerl入門の在庫を買ってくれてもいいんだぜ?>@moznion
— Daisuke Maki (@lestrrat) 2014, 9月 14
結論
欲しがらない
補足
@moznion syscall.Sycall()をsyscall.SYS_FORKで呼ぶって方法もあったような。
— Hayato 光合成 Imai (@hayajo) 2014, 9月 14
@hayajo なるほど、これはマルチプラットフォームでの動作が保障されないって感じですかね?
— 単位落としました (@moznion) 2014, 9月 14
@moznion その通りですね
— Hayato 光合成 Imai (@hayajo) 2014, 9月 14
@moznion ちなみに本当に本当に欲しい場合、無理矢理goroutine IDをとる方法はあります。それに依存したコード書いたらあほだけど。
— Daisuke Maki (@lestrrat) 2014, 9月 14
@moznion BK: http://t.co/cXG3tGf8SA もしこれをmoznionが使ってるコードを見たら削除するPRを即刻送ります
— Daisuke Maki (@lestrrat) 2014, 9月 14
goroutineまわりについてはgoがいくらかけるかではなくて、まず並行処理の勘があるか+CSPのやりかたを理解できるか の二つだけな気がするな。言語覚えてもしょうがなくて、どちらかというと概念的な問題だと思う
— Daisuke Maki (@lestrrat) 2014, 9月 14