[過去ログ] Ruby 初心者スレッド Part 58 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
928(1): デフォルトの名無しさん [sage] 2016/09/25(日) 14:29:48.97 ID:oyerjsz0(1/3) AAS
>>927927(1): デフォルトの名無しさん [sage] 2016/09/25(日) 14:26:19.46 ID:xgjFkYJ1(1/3) AAS
ArrayでFIFOバッファを作ったとしてスレッドAからArray#concatで追加
スレッドBからArray#eachで読み出したいと考えています
eachで読み出している最中に要素が追加されても問題ないでしょうか?
whileで条件を確認しながらArray#shiftで読むと遅いので出来ればArray#eachを
使いたいのですが・・・
素直に Thread::Queue 使えばええんとちゃうのん?
933(1): デフォルトの名無しさん [sage] 2016/09/25(日) 21:18:44.25 ID:oyerjsz0(2/3) AAS
>>932932(2): デフォルトの名無しさん [sage] 2016/09/25(日) 21:15:17.31 ID:xgjFkYJ1(2/3) AAS
>>928
そんなのあったっけ・・・っと思ったら2.3から追加された物ですか
今すぐに動かせるのは2.1なので試せていませんが
リファレンスマニュアルを読むとpushで追加しpopで読み出していくようですね
これだと結局whileで条件を見ながらループを回すようですが速くなるのでしょうか?
>>929
バッファを2つ用意して交互に使用しeachで読み出すようにしたらwhile&Array#shiftの
1/3くらいで処理が終わるようになりました。コードの可読性が低下しましたけど
1.9 にも Queue クラスあるよ
935(1): デフォルトの名無しさん [sage] 2016/09/25(日) 22:07:55.11 ID:oyerjsz0(3/3) AAS
>>934外部リンク[html]:docs.ruby-lang.org
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s