C# Concurrency Safe Collection リストの代わりにConcurrentBagを使用する。
2022-02-27 12:51:42
リストコレクションはスレッドセーフではないので、ここでは安全なコレクションであるConcurrentBagについて学びましょう。
コンソールのテスト手順です。
using System;
Concurrent;
Generic;
Generic; using System;
Generic; using System;
Text; using System;
Tasks;
Tasks; namespace MyConcurrent
MyConcurrent
class Program
{
/// <summary>
/// ConcurrentBag concurrently safe collection
/// </summary>
public static void ConcurrentBagWithPallel()
{
ConcurrentBag<int> list = new ConcurrentBag<int>();
Parallel.For(0, 10000, item =>
{
list.Add(item);
});
Console.WriteLine("ConcurrentBag's count is {0}", list.Count());
int n = 0;
foreach (int i in list)
{
if (n > 10)
break;
n++;
Console.WriteLine("Item[{0}] = {1}", n, i);
}
Console.WriteLine("ConcurrentBag's max item is {0}", list.Max());
}
/// <summary>
//// Function entry
/// </summary>
//// <param name="args"></param>
static void Main(string[] args)
{
Console.WriteLine("ConcurrentBagWithPallel is running" );
ConcurrentBagWithPallel();
Console.Read();
}
}
参考アドレスです。 http://www.cnblogs.com/yunfeifei/p/3998783.html
関連
-
C#とC++の型対応表まとめ
-
エラーです。コレクションが変更されました。列挙操作が実行されない可能性があります。
-
VS エラー LNK2005:**already defined in **.obj
-
C#のExcelエクスポートでHRESULT:0x800A03ECが発生する例外を解決する方法
-
Javascriptインジェクション攻撃
-
ASP.NET URL変更によるページ受け渡し
-
HTTPエラー500.30 - ANCMインプロセス開始失敗の解決策
-
MessageBoxメソッドを使用したASP.NET
-
C# DataGridView グループ化できるセルを追加する
-
GetProperty リフレクションの代入 SetValue エラーです。System.Byte "型のオブジェクトは "System.Nullable`1[System.Int32]"型に変換することができません。Int32]」に変換できません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
C# string.format でのエラー: 入力文字列が正しい形式でない
-
c# - デシリアライズ・エラー。入力文字列が正しい形式でない
-
C#でUSBデバイスを操作する方法
-
System.InvalidOperationException: ConnectionString プロパティが初期化されていません。
-
C# データベース操作エラー。この接続に関連付けられた開いているDataReaderがすでにあり、これを閉じる必要があります...
-
C#の構文]をご覧ください。C#のリフレクション(アセンブリ)機構を説明する
-
SQLiteの解決策。ファイルまたはアセンブリ 'システム' を読み込めませんでした。正しくフォーマットされていないプログラムをロードしようとしている
-
[解決済み】VS エラー CS0120 非静的なフィールド、メソッド、またはプロパティにオブジェクト参照が必要です "AgvWareHouseLib.
-
c# で datagridview の行の高さを設定する
-
devenv.exeアプリケーションエラー、アプリケーション例外を解決する