作者godfat (godfat 真常)
看板Ruby
标题[问题] thread + socket?
时间Tue Jul 3 17:14:30 2007
环境:
Ruby 1.8.6
呃呃,其实我没真的写过 multi-thread 的程式,
也没真的写过 socket 的程式﹍
所以到底会出什麽问题,我还真的是一点也不知道 :o
现在的状况是,我有一个 server class,
他会产生 thread 去处理 client 的 request
在我电脑上的测试,到目前为止并没有问题
不过拿给别人测就怪怪的了 :(
我怀疑是我没有 lock 的关系,所以用了 monitor
class Server
include MonitorMixin
# rest of codes...
end
接着只要我在任何一个 method 中插入 synchronize{ }
socket 就会有问题,不是 connection refuse 就是其中一方收不到讯息
可是我只是插入一段空的 synchronize 耶?像是这样:
class Server
include MonitorMixin
def alive?
synchronize{}
@alive
end
end
像是这样就会出事,可是照理说这样应该不会有任何影响吧?
我搞错什麽了吗?有什麽观念上的错误吗?
--
Nobody can take anything away from him.
Nor can anyone give anything to him.
What came from the sea,
has returned to the sea.
Chrono Cross
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.218.90.242