问一个多进程访问STDXXX的问题。

是这样的:

用的是log4r,Logger,

用这两个来记录debug信息,我是输出到STDOUT的。

屏幕会打印一些信息,

这时,我建了个thread,想
通过控制台来进行测试。

message = STDIN.gets
当有输入的时候,log就不打东西了。

求解,哎,最近用ruby搞个PC测试软件,步履维艰啊,用.NET/JAVA估计早就搞完了。。

使用 Thread.pass 试试,
再设置 priority 属性试试.
应该是 STDIN.gets 时,等在那里了,造成2个Thread 都阻塞了.
可以用 select([STDIN],nil,nil,10);puts STDIN.read(8) 替换 STDIN 试试.
都试试吧.

.NET/JAVA估计也有这个问题存在.