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

眺める: 57872|答える: 7

[出典] c#はユニバーサルQueueHelperキューをカプセル化しています

[リンクをコピー]
掲載地 2018/08/29 10:39:11 | | | |
日々の開発では、キューと呼ばれる「先着先出し」を実現できるストレージ構造を使うことがあります。

応用シナリオ:ログの作成、メール送信など

もし各ユーザーがデータを要求した際のインターフェースログを記録する必要があるなら、ユーザーがリクエストするたびにログを書く必要はなく、ログ内容をキューに入れて他のスレッドに実行させることができ、アプリケーションの効率に影響を与えません。

もう一つの利点は、並行性の場合にキューにデータを追加し、単一のスレッドでキューのデータを実行することで多くの例外を回避できます。ただし、同時処理(マルチスレッド)で同じ物理ファイルへのアクセスが例外を引き起こす場合に限ります。 (入手可能次第)

キューユニバーサルアプローチ:

これは抽象クラスであり、この抽象化クラスを継承し、Execute抽象化メソッドを実装する必要があります。 どのタイプのデータを処理したいのか分からないので、ここでは汎用的な言葉を使っています。つまり、Entityは文字列型、メソッドパラメータは文字列型、処理しているデータも文字列型データです。

ConcurrentQueueのスレッド安全キューは、マルチスレッド環境で例外がないことを保証します。

ManualResetEvent はスレッドの信号を制御します。以前は、数秒ごとから数分ごとにキュー内のデータをチェックしていました今度はデータをキューに追加し、信号を渡すだけでいい!

用途:

(終わり)




先の:セットアップ プロジェクト インストールパッケージ プロダクションプロセス プライマリ出力ファイルのコピーをしたい質問です
次に:redis chineseの問題は正しく表示できません
 地主| 掲載地 2019/05/24 10:13:59 |
フレームワークのおすすめ:

asp.net 背景タスク Hangfire フレームワークチュートリアル
https://www.itsvse.com/thread-7611-1-1.html
(出典:Architect_Programmer)
掲載地 2019/09/10 10:26:26 |
なぜTestクラスのExecuteメソッドは実行されないのですか?
 地主| 掲載地 2019/09/10 21:52:44 |
hano7758 2019年9月10日 10:26 に投稿
なぜTestクラスのExecuteメソッドは実行されないのですか?

コードを投稿してもらえますか?
 地主| 掲載地 2021/01/23 11:53:46 |
.NET/C# は BlockingCollection バックグラウンドタスクキューに基づいています
https://www.itsvse.com/thread-9528-1-1.html

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

Mail To:help@itsvse.com