ふらっと C#,C♯,C#(初心者用) Part142at TECHふらっと C#,C♯,C#(初心者用) Part142 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト691:デフォルトの名無しさん 19/05/04 21:07:23.59 3sktWiiHa.net >>679 その処理は要素数チェックと要素アクセスが分かれているから、間に他スレッドからの処理が割り込み得る System.Collections.Concurrent系のコレクションは、 例えば「要素があるなら取得」のようなまとまった処理がatomicになっているので、他スレッドからの割り込まれない(=スレッドセーフ) どっかのスレッドで詰めて、別のスレッドでループ処理、がやりたいのならBlockingCollectionが楽 692:デフォルトの名無しさん 19/05/04 21:27:48.58 qIB0qWQDM.net >>679 厳密に他のスレッドとの同期を取らなきゃいけないなら>>682の言うようにBlockingCollection使うか毎回ロックだろうし、 ループ中は他のスレッドによるlstの変更を反映しなくていいならループに入る直前だけロックしてコピーしておけば済む ケースバイケースだよ 一つ一般的なアドバイスをしておくと、並列処理のコツはデリケートな前提をなるべく設けずに極力ロバストな設計をすることだ 要件が許す限りにおいて、少々処理の順番が入れ替わったり処理間の同期が取れてなかったりしても問題にならないつくりにするのが理想 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch