響應式程式設計 akka

2022-05-20 15:27:22 字數 730 閱讀 5717

ask (?)

actor 本身是沒有 ask 函式的,如果想用 ask 函式,需要引入 akka.pattern.ask 依賴。akka 官方並不推薦使用 ask 函式,因為它意味著處理 message 的 actor (receiver) 需要把處理結果返回 sender,這就引入了 sender 和 receiver 之間的依賴關係,本來 actor 之間都是各個獨立存在的實體,因為 ask 函式引入了依賴會使程式變得複雜。但是在某些場景下 ask 函式會帶來極大的便利性,所以它的存在還是有必要的。最終 akka 對 ask 的設計就像我們看到的一樣,沒有把 ask 作為 actor 的成員函式,表明自己對 ask 的不推薦態度,但又以隱式轉換的方式支援它,表示如果你真的要用,我們仍提供這種 capability。

向actor傳送訊息是使用下列方法之一。

意思是「fire-and-forget」, e.g. 非同步傳送乙個訊息並立即返回。也稱為 tell.

非同步傳送一條訊息並返回乙個 future代表乙個可能的回應。也稱為 ask.

每乙個訊息傳送者分別保證自己的訊息的次序.

注意:使用ask會造成效能影響,因為當超時是,一些事情需要保持追蹤。這需要一些東西來將乙個promise連線進入actorref,並且需要通過遠端連線可到達的。所以總是使用tell更偏向效能,除非必須才用ask.

在所有這些方法你可以傳遞自己的actorref。讓它這樣做,因為這將允許接收的角色才能夠回覆您的郵件,因為發件人引用隨該資訊一起傳送的。

響應式程式設計 什麼是響應式程式設計

那麼什麼是響應式程式設計,來看個簡單的例子 var i 1,j 2,k i j print k k k 3 i 3 j 4 print k k k 3在這裡把i,j,k當成某個狀態,k是j,i兩個狀態的組合,正常的程式設計中,在計算了k的狀態之後,再去改變j,i的狀態是不會影響到c的狀態的。所以在正...

響應式程式設計

react中提出乙個重要思想 狀態改變則ui隨之自動改變,而react框架本身就是響應使用者狀態改變的事件而執行重新構建使用者介面的工作,這就是典型的響應式程式設計正規化,下面我們總結一下react中響應式原理 開發者只需關注狀態轉移 資料 當狀態發生變化,react框架會自動根據新的狀態重新構建u...

響應式程式設計(一)什麼是響應式程式設計

響應式程式設計是相對於阻塞式程式設計,我們在這裡主要講的是springboot2中響應式webflux 了解 webflux,首先了解下什麼是 reactive streams。reactive streams 是 jvm 中面向流的庫標準和規範 處理可能無限數量的元素 按順序處理 元件之間非同步傳...