From: Masato Toyoshima Date: 2000-04-25T17:07:15+09:00 Subject: [ruby-list:22108] Re: Thread & STDIN.getc わたなべさん、フォローありがとうございます。 これまでに、こちらの環境で確認できたことを整理します。 すべてCygwin版の場合です。Ruby1.4.3で確認しました。 1. Cygwin版の場合、STDIN.getcがスレッドに影響をかなり与える 2. STDIN.getcをタイムアウトさせるようにしないと、   他のスレッドが完全にとまる場合もある   (入力の仕方で異なった動き?) 3. STDIN.getcをタイムアウトさせるようにすることで、   他のスレッドも順調に動く 4. タイムアウトさせる、させないに関わらず、一文字でもSTDIN.getc   で入力を受けると、エンター入力まで他のスレッド(および同じスレッド)   によるprintの表示が抑制される ということで、 |みたいにちょっと待ってみるといいかも. |#0.001 はこんなもんかな. 表示側のスレッドにSleepをいれてみましたが、、、 カウンターの増加がのんびり(^^となり、スレッドの動きが わかりやすくはなりました。(^^) ただ、、STDIN.getcで一文字の入力をいったん得ると、 表示側のスレッドは動いていますが、表示されません。 エンターを押した時点で、一気に表示されて、 今回のテストコードですと、一文字目を入力した時点の カウンターとエンターを押した時点でのカウンターを表示して 終了します。 できれば、エンターを押す前も、ずっと途切れず、表示しつづけて欲しい というのが期待している動作なのです、、、 どうしたらいいんだろう(^^;; もうちょっと色々試してみます。 =========================================== ^^ ^^ mailto:mt@izu.co.jp ^^ ^^ ^^ ^^ ^^ 豊島 正登 Masato Toyoshima ^^ ^^