私はsftp経由でファイルをアップロードするプログラムでスレッドを使用しています。アップロードできるファイルの数は、潜在的に非常に大きくても非常に小さくてもかまいません。私は同時アップロード数が5以下になりたいと思っています。私の理解は、通常、これに使用される条件変数ですが、それは一度に1つのスレッドしか許さないように見えます。並行スレッドの制限
cv = ConditionVariable.new
t2 = Thread.new {
mutex.synchronize {
cv.wait(mutex)
upload(file)
cv.signal
}
}
私はcvがリリースされたらそれをリリースするのを待つように指示するべきだと思います。私の質問は、数字を制限しながら、一度に1つ以上を許可するにはどうしたらいいですか?
編集:私は1回のクリックインストーラの代わりに
この質問には使用しているRubyのバージョンが重要です。 –