3

数か月前、コードベースに Rx を導入しました。それ以来、コードベースはますます「反応的」になっています。「ロック」の行がまだ使用されていないため、Rx を使用してコードベースに並行性を導入するのは非常に簡単だと思います。

しかし、言葉で説明できないとなぜRxで簡単なのかがよくわかりません。

「Actor Model」「Functional Reactive Programming」の概念に関連していますか?

誰かが親切にこれについて教えてもらえますか?

4

1 に答える 1

1

それが「簡単」である主な理由は、MS の非常に賢い開発チームによって Rx ライブラリに血と汗と涙が注がれたためだと思います。

(オープンな) ソース コードを見て、Rx の文法と、スケジューラを使用していつどこで実行するかのパラメータ化を実施するためにコードがどれだけ注意を払っているかを確認してください。これには、防御的な並行コードがたくさん含まれています。シンプルさをもたらすのは文法とスケジューラーだと思います。

モデルを使用するのは非常に簡単ですが、その単純さを達成することは簡単ではありませんでした。整然とした API の背後にある複雑さを隠してきた巨人の肩の上に立つことで、あなたは恩恵を受けています :)

ところで、あなたが陥る奇妙な罠はまだあります..あなたは遅かれ早かれそれを見つけると確信しています! 一例として、Subject<T>.OnNext() は、パフォーマンス上の理由から、Rx 2.x では同時アクセスから保護されていません。

于 2013-06-11T09:57:51.560 に答える