[Squeak-ja: 3816] Re: ループしているプロセスの停止について
Kazuhiro ABE
abee @ squeakland.jp
2008年 2月 7日 (木) 16:14:19 JST
阿部@新百合です。
いきなりforkを送ると、あとでそのプロセスを捕まえにくくなるので、まずは変
数に入れたほうが良いと思います。
arm := LineMorph from: 290 @ 300 to: 710 @ 300 color: Color black width: 5.
process := [[ arm openInWorld.
( Delay forSeconds: 1) wait] repeat] newProcess.
process resume
これを終了するときは以下のようにします。
process terminate
他どのようなメソッドがあるかはProcessクラスのインスタンスメソッドを見てく
ださい。
forkは単なる予約語ではなく、メッセージですから、ブロックにforkを送ったと
きになにが起こっているかを考える必要があります。
ワークスペースなどでforkを選択し、Alt+bを押すとその定義を調べることができ
ます。
せっかく中身を参照できるわけですから、今回の問題に限らず、分からないこと
があったら、中を調べてみるのは良い習慣だと思います。
また、自由自在では一章を費やして並行処理について解説しています(第12章)。
//abee
--
阿部 和広 EMAIL abee @ squeakland.jp
Squeak-ja メーリングリストの案内