gpt4 book ai didi

java - 为什么使用 Clojure 而不是 Java 进行并发编程

转载 作者:太空狗 更新时间:2023-10-29 22:42:49 24 4
gpt4 key购买 nike

当 Java 提供并发编程能力时,使用 Clojure(而不是 Java)的主要优势是什么?

最佳答案

Clojure 专为 concurrency 而设计.

Clojure 提供了比 Java 更高抽象级别的并发原语。其中一些是:

  • 一个软件事务内存系统,用于处理对共享引用的同步和协调更改。您可以将多个引用更改为原子操作,而不必担心程序中的其他线程正在做什么。在您的交易中,您将始终拥有一致的世界观。

  • 用于异步更改的代理系统。这类似于 Erlang 中的消息传递。

  • 线程对变量进行局部更改。这些变量有一个根绑定(bind),由程序中的每个线程共享。但是,当您重新绑定(bind)一个变量时,它将仅在该线程中可见。

所有这些并发原语都建立在 Clojures 不可变数据结构(即列表、映射、 vector 等)之上。当您进入可变 Java 对象的世界时,所有原语都会崩溃,您又回到了锁和条件变量(必要时也可以在 clojure 中使用)。

关于java - 为什么使用 Clojure 而不是 Java 进行并发编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1570810/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com