[問題] thread + socket?
環境:
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
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
Ruby 近期熱門文章
PTT數位生活區 即時熱門文章