タグ

TAPに関するItisangoのブックマーク (8)

  • 非同期: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]
  • Do I need to dispose of Tasks?

  • Task クラス (System.Threading.Tasks)

    名前空間: System.Threading.Tasks アセンブリ:System.Threading.Tasks.dll アセンブリ:System.Runtime.dll アセンブリ:mscorlib.dll アセンブリ:netstandard.dll ソース:Task.cs ソース:Task.cs ソース:Task.cs 重要 一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。 public ref class Task : IAsyncResult public ref class Task : IAsyncResult, IDisposable public class Task : IAsyncResult public class T

    Task クラス (System.Threading.Tasks)
  • タスク ベースの非同期パターン (TAP): 概要 - .NET

    .NET では、新規開発に推奨される非同期設計パターンは、タスク ベースの非同期パターンです。 それは、非同期操作を表すために使用される、System.Threading.Tasks 名前空間の Task および Task<TResult> 型に基づいています。 名前付け、パラメーター、および戻り値の型 TAP では、非同期操作の開始と終了を表すために単一のメソッドが使用されます。 これは、非同期プログラミング モデル (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)」を参照してください。 イベント ベースの非同期パターン (EAP) は、非同期動作を提供するための、イベント ベースの従来のモデルです。 これは、Async サフィックスを持つメソッドと、1 つ以上のイベント、イベント

    非同期プログラミングのパターン
    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.”
  • Bash × bats × VS Codeでbashの単体テスト環境を構築してみた - きな粉もち.net

    この記事の目的 この記事では、 Bashの自動テストツール(bats)環境の構築 を目的としています。 アジェンダ この記事の目的 アジェンダ 題 ★batsとは ★環境 ★batsのVSCode拡張機能のインストール ★batsコマンドのインストール ★動作確認用のbatsファイルとプログラムの用意 ★テスト実行 ★実行がうまくいかないとき ★TAPとは まとめ 題 ★batsとは Bash Automated Testing Systemです。 GitHubのURL↓ github.com batsは、TAP(後述します)に準拠したbash用のテストフレームワークです。 batsによって、実装したbashが期待通りに動作することを簡単に検証することができます。 batsのテストケースは、bashスクリプトと、batsによって提供される構文で実装します。 こんな感じです(GitHub

    Bash × bats × VS Codeでbashの単体テスト環境を構築してみた - きな粉もち.net
  • TUN/TAP - Wikipedia

    TUN/TAPは仮想ネットワークデバイス及びそのデバイスドライバの実装およびデバイス名で、主にUnix系のシステムで利用できる。実ハードウェアであるネットワークカードと対応しているデバイスドライバと同様にネットワーク通信ができるが、データはハードウェアではなく、ネットワーク通信を仮想化したソフトウェアのプロセスに送られ、そこで処理される(例えば、VPNの相手方への通信として、改めて実ハードから送信される)。 概要[編集] TAP(Terminal Access Point) は、イーサネットデバイスをシミュレートし、データリンク層を操作できる。TUN(TUNnel) はネットワーク層をシミュレートし、IPパケットなどを操作できる。用途としては、たとえばTAPはブリッジに使われ、TUNはルーティングに使われる。 OSがTUN/TAPデバイスに送ったパケットは、そのデバイスに接続しているユーザ

  • 1