5
Thread#join
に電話をかけても問題ありませんか?この場合、スレッドが爆発するかどうかは気にしません。Unicornに処理を継続させたいだけです。スレッド#joinを呼び出さないようにしてもよろしいですか?
class MyMiddleware
def initialize(app)
@app = app
end
def call(env)
t = Thread.new { sleep 1 }
t.join # is it ok if I skip this?
@app.call env
end
end
「ゾンビ糸」などがありますか?
私は同意します、参加は信じられないほど過大評価されています。あなたがスレッドについて教えているときには早い段階で役立ちますが、スレッドが実際にどのように機能するかを理解すれば、実際にはジョインは実際にマルチスレッドの能力を効果的に制限します。私が気づくパターンは、通常、結合はワーカースレッドのような非常に短命のスレッドでのみ使用されるということです。例:マネージャスレッドは10個のワーカースレッドを生成し、それらをすべて結合し、結果を集めて処理します。 – corsiKa
@glowcoderまさにこのような状況では、使用しているプラットフォームやライブラリによっては、参加するよりも良い選択肢があります。 –