数か月前、コードベースに Rx を導入しました。それ以来、コードベースはますます「反応的」になっています。「ロック」の行がまだ使用されていないため、Rx を使用してコードベースに並行性を導入するのは非常に簡単だと思います。
しかし、言葉で説明できないとなぜRxで簡単なのかがよくわかりません。
「Actor Model」と「Functional Reactive Programming」の概念に関連していますか?
誰かが親切にこれについて教えてもらえますか?
数か月前、コードベースに Rx を導入しました。それ以来、コードベースはますます「反応的」になっています。「ロック」の行がまだ使用されていないため、Rx を使用してコードベースに並行性を導入するのは非常に簡単だと思います。
しかし、言葉で説明できないとなぜRxで簡単なのかがよくわかりません。
「Actor Model」と「Functional Reactive Programming」の概念に関連していますか?
誰かが親切にこれについて教えてもらえますか?
それが「簡単」である主な理由は、MS の非常に賢い開発チームによって Rx ライブラリに血と汗と涙が注がれたためだと思います。
(オープンな) ソース コードを見て、Rx の文法と、スケジューラを使用していつどこで実行するかのパラメータ化を実施するためにコードがどれだけ注意を払っているかを確認してください。これには、防御的な並行コードがたくさん含まれています。シンプルさをもたらすのは文法とスケジューラーだと思います。
モデルを使用するのは非常に簡単ですが、その単純さを達成することは簡単ではありませんでした。整然とした API の背後にある複雑さを隠してきた巨人の肩の上に立つことで、あなたは恩恵を受けています :)
ところで、あなたが陥る奇妙な罠はまだあります..あなたは遅かれ早かれそれを見つけると確信しています! 一例として、Subject<T>.OnNext() は、パフォーマンス上の理由から、Rx 2.x では同時アクセスから保護されていません。