1
我有一個同步線程的問題,我不知道該怎麼做,有人可以幫助我嗎?Ruby多線程隊列
所以,事情是我必須以某種特定的順序啓動線程。 訂單如下:
線程1和線程7可以同時運行,其中一個線程完成後,下一個線程啓動(即線程2或/和線程6),線程3 (五) ,最後一個,兩個線程後3和5運行完畢後,去了最後一個,線程4
這是代碼,我曾與開始,但我在隊列實現莫名其妙地卡住。
MUTEX = Mutex.new
high_condition = ConditionVariable.new
low_condition = ConditionVariable.new
threads = []
7.times do |i|
threads << Thread.new{
MUTEX.synchronize {
Thread.current["number"] = i
you_shall_not_pass
}
}
end
threads.map(&:join)
def you_shall_not_pass
order = Thread.current["number"]
end
你能告訴我們更多關於預期的產出和你得到? – JunaidKirkire
歡迎來到StackOverflow!感謝您發佈您的代碼,但請在您的問題中多加一點說明:您有什麼問題,您期望得到什麼結果,以及[您嘗試過什麼](http://whathaveyoutried.com)到目前爲止?通過[問題清單](http://meta.stackexchange.com/questions/156810/stack-overflow-question-checklist)將幫助我們更好地回答你的問題。謝謝! –
預期的輸出可以是這樣的: ' 線程1已經完成了它的任務 線程2已經完成了它的任務 Thread7已經完成了它的任務 Thread3已經完成了它的任務 Thread6已經完成了它的任務 Thread5已經完成了它的任務 Thread4有完成任務 ' 輸出並不重要,問題是以適當的方式啓動它們 –