この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 23489|答える: 5

[出典] [実戦]。 NET 6 ランダム生成は乱数検定を生成します

[リンクをコピー]
2022年3月31日 16:20:26に投稿 | | | |
最近、Microsoftは.NET 6のパフォーマンス向上についてブログ記事を投稿し、多くの興味深い点が挙げられていました。その一つがRandom.Sharedでした。

これは読み取り専用の静的プロパティであり、スレッドに安全なオブジェクトなので、ランダムオブジェクトの使い方を簡素化するのに役立ちます。

ランダム。共有任意のスレッドから同時に使用できるスレッド安全なランダムインスタンスを提供します。 参考:ハイパーリンクのログインが見えます。

まず第一に、ランダムはスレッド安全ではないことを知る必要があります。つまり、マルチスレッドでランダムを使いたい場合、通常はスレッドの安全性も考慮する必要があります。 スレッドセーフではないため、使うたびに1つずつ作成し、毎回新しいものを作ることは可能ですが、この場合コードが十分に簡潔ではなく、一方でランダムなオブジェクトが増える可能性があり、パフォーマンスのオーバーヘッドも発生します。

BenchmarkDotNetと比較・テストしてみると、コードは以下の通りです:
.NET/C#はBenchmarkDotNetを使ってコードのパフォーマンスをテストします
https://www.itsvse.com/thread-9576-1-1.html
旧メソッドは、常に新しいRandomオブジェクトを新しくして乱数を生成し、Newメソッドは.NET 6で提供されている最新のRandom.Sharedメソッドを呼び出すというものです。 テストレンダリングは以下の通りです:



新機能の平均実行時間も平均で見ています10倍ブースト

(終わり)






先の:ASP.NET コア(12)フロントエンドJS、CSSバンドル、圧縮
次に:ASP.NET Core(XIII)で、それがAjaxリクエストかどうかを判定します
2022年4月2日 09:15:51に投稿 |
もう一度学ぶ時だ
2022年4月14日 10:42:00に投稿 |
学びに来て、売春婦よ、共有してくれてありがとう。
2022年6月20日 17:01:32に投稿 |
支持して! 共有してくれてありがとう
 地主| 2023年11月25日 21:01:04に投稿 |
GUIDメソッドを使ってコレクションからランダムに1つ選びます(データベースクエリには使わないでください。そうしないとテーブル全体がクエリされます)

 地主| 2025年4月6日 09:33:00に投稿 |
バイト配列に暗号学的な乱数列を埋めます。 (System.Security.Cryptography.RNGCryptoServiceProviderは非推奨です)


又は
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com