タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

Programmingとasyncと.Netに関するItisangoのブックマーク (6)

  • 非同期:awaitを含むコードをロックするには?(AsyncLock編)[C#、VB]

    async修飾子/await演算子(VBではAsync修飾子/Await演算子、以降では省略)を使った非同期プログラミングでは、スレッド間の排他ロックにlockステートメント(VBではSyncLockステートメント)が使えない。代わりにSemaphoreSlimクラス(System.Threading名前空間)を使えば可能なのだが、コードの記述が面倒である。そこで稿では、AsyncLockクラスを使って簡潔に記述する方法を説明する。 SemaphoreSlimクラスによる排他ロック SemaphoreSlimクラスを使ってスレッド間の排他ロックを行うコードは、次のようなものだ。lockステートメントが使えない理由も含めて、詳細は「非同期:awaitを含むコードをロックするには?(SemaphoreSlim編)[C#、VB]」を参照していただきたい。 static System.Threa

    非同期:awaitを含むコードをロックするには?(AsyncLock編)[C#、VB]
  • 非同期:awaitを含むコードをロックするには?(SemaphoreSlim編)[C#、VB]

    async修飾子/await演算子(VBではAsync修飾子/Await演算子、以降は「async/await」と略す)によって、非同期プログラミングは簡潔に記述できるようになった。ところが、複数スレッド間の排他ロックを実現するために使ってきたlockステートメント(VBではSyncLockステートメント)が、await演算子(VBではAwait演算子、以降は省略)を含むコードでは使えなくなってしまったのである。async/awaitを多用するコード(特にWindowsストアアプリやWindows Phoneアプリ)を書いていて困った経験を持つ人も多いだろう。await演算子を含むコードをロックするにはどうしたらよいのだろうか? 稿では、SemaphoreSlimクラス(System.Threading名前空間)を使う方法を説明する。 従来のlock/SyncLockステートメントによる

    非同期:awaitを含むコードをロックするには?(SemaphoreSlim編)[C#、VB]
  • タスク ベースの非同期パターン (TAP): 紹介と概要 - .NET

    .NET では、タスク ベースの非同期パターンは、新しい開発に推奨される非同期設計パターンです。 これは、非同期操作を表すために使用されるTask名前空間のTask<TResult>型とSystem.Threading.Tasks型に基づいています。 名前付け、パラメーター、および戻り値の型 TAP では、1 つのメソッドを使用して、非同期操作の開始と完了を表します。 これは、非同期プログラミング モデル (APM または IAsyncResult) パターンとイベント ベースの非同期パターン (EAP) の両方と対照的です。 APM には、 Begin メソッドと End メソッドが必要です。 EAP には、 Async サフィックスを持つメソッドが必要です。また、1 つ以上のイベント、イベント ハンドラー デリゲート型、および EventArg派生型も必要です。 TAP の非同期メソッ

    タスク ベースの非同期パターン (TAP): 紹介と概要 - .NET
    Itisango
    Itisango 2019/08/18
    #dotNET #Async is difficult:“The Task-based Asynchronous Pattern (TAP) is based on the System.Threading.Tasks.Task and System.Threading.Tasks.Task<TResult> types in the System.Threading.Tasks namespace, which are used to represent arbitrary asynchronous operations.”
  • 非同期プログラミングのパターン

    注意 このページにアクセスするには、承認が必要です。 サインインまたはディレクトリの変更を試すことができます。 このページにアクセスするには、承認が必要です。 ディレクトリの変更を試すことができます。 .NET には、非同期操作を実行するための 3 つのパターンが用意されています。 タスク ベースの非同期パターン (TAP) 。1 つのメソッドを使用して非同期操作の開始と完了を表します。 TAP は .NET Framework 4 で導入されました。 .NET で非同期プログラミングを行う場合、これが推奨される方法となります。 C# の async キーワードと await キーワード、および Visual Basic の Async 演算子と Await 演算子により、TAP の言語サポートが追加されます。 詳細については、「タスク ベースの非同期パターン (TAP)」を参照してくださ

    非同期プログラミングのパターン
    Itisango
    Itisango 2019/08/18
    #dotNET #async is difficult:“Task-based Asynchronous Pattern (TAP), which uses a single method to represent the initiation and completion of an asynchronous operation. TAP was introduced in the .NET Framework 4. It's the recommended approach to asynchronous programming in .NET.”
  • C# 6.0で知っておくべき12の新機能

    Visual Studio 2015正式版のリリースで利用可能になったC#言語の最新バージョン「6.0」の新機能を解説する。CTP 5→正式版に合わせて改訂。 連載 INDEX 次回 → 「C# 6.0」と呼ばれているC#の最新バージョンは、Visual Studio 2015*1で利用可能になっている。 この最新バージョンでは、「.NET Compiler Platform」(コード名:“Roslyn”)と呼ばれる新しいコンパイラーが導入されており、静的解析APIの提供など、コンパイラーまわりに大きな変更が行われている。一方、言語機能に目を向けると、async/awaitという大きな機能が追加されたC# 5.0に比べると、一つ一つの新機能自体は小さい。しかし、それらはプログラムをより書きやすくするための機能なので、C#開発者にとってはやはり重要なアップデートとなっている。 そして、これら

  • 並列プログラミング - .NET アプリケーションの並列処理についての過去、現在、未来

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 .NET アプリケーションの並列処理についての過去、現在、未来 Stephen Toub 過去の並列処理 スレッドの直接操作は、応答性の高いクライアント アプリケーション、並列アルゴリズム、およびスケーラブルなサーバーを実現するために、以前から開発者が採用している方法です。しかし、この手法は、デッドロック、ライブロック、ロック コンボイ、2 ステップ ダンス、競合、オーバーサブスクリプションといったアプリケーションを望ましくない状態に陥らせる温床でもありました。Microsoft .NET Framework は、その誕生以来、専用の名前空間 (System.Threading) など、同時実行アプリケーショ

    並列プログラミング - .NET アプリケーションの並列処理についての過去、現在、未来
  • 1