タグ

classとAsyncに関するItisangoのブックマーク (5)

  • CompletionStage (Java SE 11 & JDK 11 )

    CompletionStageが完了したときにアクションの実行または値の計算を行う、非同期の可能性がある計算のステージです。 ステージはその計算が終了したときに完了しますが、これに続いて他の依存ステージがトリガーされる場合があります。 このインタフェースで定義される機能は、少数の基形式しか取りませんが、それらがより大規模なメソッドのセットに展開することで、一定範囲の使用スタイルに対応します。 ステージによって実行される計算は、引数を必要とするか、結果を生成するか、あるいはその両方かに応じて、Function、ConsumerまたはRunnableとして(それぞれapply、acceptまたはrunを含む名前を持つメソッドを使用して)表されます。 たとえば: stage.thenApply(x -> square(x)) .thenAccept(x -> System.out.print(

    Itisango
    Itisango 2021/09/12
    “CompletionStageが完了したときにアクションの実行または値の計算を行う、非同期の可能性がある計算のステージです。 ステージはその計算が終了したときに完了しますが、これに続いて他
  • CompletableFuture (Java SE 11 & JDK 11 )

    型パラメータ: T - この将来のjoinおよびgetメソッドによって返される結果の型 すべての実装されたインタフェース: CompletionStage<T>, Future<T> public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T> 明示的に(その値とステータスを設定して)完了できるFutureです。その完了時に発生する依存関数およびアクションをサポートし、CompletionStageとして使用できます。 2つ以上のスレッドがCompletableFutureのcomplete、completeExceptionallyまたはcancelを試行すると、1つのスレッドのみが成功します。 ステータスと結果を直接操作するこれらのメソッドおよび関連メソッドに加えて、C

    Itisango
    Itisango 2021/09/12
    “implements Future<T>, CompletionStage<T> 明示的に(その値とステータスを設定して)完了できるFutureです。その完了時に発生する依存関数およびアクションをサポートし、CompletionStageとして使用できます”
  • CompletableFuture (Java SE 17 & JDK 17)

    Itisango
    Itisango 2021/09/12
    “public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T> A Future that may be explicitly completed (setting its value and status), and may be used as a CompletionStage, supporting dependent functions and actions that trigger upon its completion.”
  • タスク ベースの非同期パターン (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.”
  • node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場

    node.js を代表とする JavaScript を用いた非同期プログラミング環境においては、コーディングパターンのベストプラクティスが共有されておらず、結果として品質の低いコードが多くなるという問題があるように思います。そこで、特にエラー処理をどう書くべきか、既存のライブラリを使う方法を紹介してみることにしました。 いきなりですが、ファイルの文字数を返す関数を作ることを考えてみます。Java だと以下のような感じになるでしょうか。countChars メソッドに注目すると、エラーを例外として扱っていて、モジュラーかつ簡潔になっていることがわかります。 class FileCounter { static long countChars(String filename) throws IOException { FileInputStream is = new FileInputStre

    node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) - kazuhoのメモ置き場
  • 1