Clojure 中的 dosync函数

首页 / Clojure入门教程 / Clojure 中的 dosync函数

在包含表达式和任何嵌套调用的事务中运行表达式,如果没有任何线程在该线程上运行,则启动事务,任何未捕获的异常都将中止事务,并退出dosync。

dosync - 语法

(dosync expression)

参数      -  "expression"是一组表达式,将出现在dosync块中。

返回值  - 无。

dosync - 示例

以下程序显示了有关如何使用它的示例。

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (def names (ref []))
   
   (defn change [newname]
      (dosync
         (alter names conj newname)))
   (change "Leanfk")
   (change "Toolfk")
   (println @names))
(Example)

上面的程序产生以下输出。

[Learnfk Toolfk]

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入拆解Java虚拟机 -〔郑雨迪〕

代码精进之路 -〔范学雷〕

说透中台 -〔王健〕

TensorFlow 2项目进阶实战 -〔彭靖田〕

Redis核心技术与实战 -〔蒋德钧〕

张汉东的Rust实战课 -〔张汉东〕

容量保障核心技术与实战 -〔吴骏龙〕

现代C++20实战高手课 -〔卢誉声〕

零基础GPT应用入门课 -〔林健(键盘)〕

好记忆不如烂笔头。留下您的足迹吧 :)