Clojure await

2018-12-27 16:46 更新

阻塞當(dāng)前線程(無限期?。?,直到從此線程或代理到目前為止所有分派到代理的動作發(fā)生。 將阻止失敗的代理。

語法

以下是 await 基本語法:

(await agentname)

參數(shù) ? 'agentname'是應(yīng)為其設(shè)置await函數(shù)的代理程序。

返回值 ? 無.

下面的程序顯示了如何使用meta的示例。

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def counter (agent 0))
   (println @counter)
   
   (send-off counter + 100)
   (await counter)
   (println @counter)
   
   (shutdown-agents))
(Example)

輸出

以上示例輸出以下結(jié)果:

0
100

從上面的程序可以看出,代理的值立即打印到屏幕上,因為await函數(shù)將等待Clojure首先更新函數(shù)的值,然后才會將控制返回給調(diào)用程序。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號