当前位置: 首页 > 知识库问答 >
问题:

原子交换存储无限延迟序列的原子

空枫涟
2023-03-14

要么我一整天都精疲力尽了,不能正常思考,要么这是不可能的,但我想swap!一个原子,它引用一个无限延迟的seq,并使用当前seq的REST

我的程序挂起有明显的原因,因为compare-and-set!在交换前尝试检查以前和新的seq相等。相等性检查基本上从不终止

(def  beyond-infinity (atom (repeat 1)))
(defn keep-pulling [] (swap! beyond-infinity #(rest %)))

以前,我的惰性seq是在范围中工作的,但是在REPL上,由于实现了返回的seq,我的REPL被挂起

无论如何,使用repeat仍然失败

共有1个答案

柯立果
2023-03-14

这个问题是因为我的REPL试图实现无限序列。另外,我提到的关于compare-and-set!对seq进行相等性检查的事情是错误的。compare-and-set!执行引用相等性测试,而不是值!

 类似资料:
  • 我们正在尝试为Cassandra Datastax社区版和java驱动程序创建一个原型。我试图使用CassandraJava驱动程序(简单键空间)的示例来测量简单检索和更新的延迟。 我有两个数据中心,每个数据中心有一个机架。每个机架包含3个节点。我总共有6个节点(虚拟机)。 为了优化检索/更新操作,我将key_cache_size_in_mb配置为10。 总之,我们尝试调整示例操作,以获得读取/更

  • 我正在用C编写一个程序。为了简单起见,我们可以说:有几个变量,许多线程都可以读写。每次写入其中一个时,它都是通过原子交换(GCC原子操作、同步和交换)写入的。我是否需要在每次读取其中一个变量时使用原子负载,或者原子写入是否足以避免在写入过程中读取数据? 注意,需要使用其中一个变量的数据的任何位置都会首先复制值: 我的问题不是关于数据竞赛,也就是说我不担心我会丢失数据。我担心的是,在我阅读它的过程中

  • 我们正在使用Rabbitmq-server_3.5.7及其相应的延迟消息交换插件 到目前为止,我们一直在使用直接交换并控制客户端应用程序上的消息生成器的延迟(并跟踪当前队列中的消息数量)。 我们已经开始成功使用延迟交换,但我们想知道如何检查当前延迟的消息数量(这是等待路由到队列)。 兔子是否提供了一种知道这一点的方法?是否有任何其他方法可以访问此信息? 谢啦!

  • 1、mybatis 是否支持延迟加载? 延迟加载其实就是讲数据加载时机推迟,比如推迟嵌套查询的时机。 延迟加载可以实现先查询主表,按需实时做关联查询,返回关联表结果集,一定程度上提高了效率。 mybatis仅支持关联对象association和关联集合对象collection的延迟加载,association是一对一,collection是一对多查询,在mybatis配置文件中可以配置lazylo

  • 我想就我在教科书中发现的以下问题得到一些帮助。 现在,它说它没有描述正确的算法。但是他们说: 一段时间后,应该对数组进行排序,并证明如果输入未排序,则对数组进行排序的比较次数为O(n^3)。 另一个问题是: 验证算法是否会在O(n)时间内对数组进行排序 我真的不明白你怎么能证明这一点,因为i和j是随机的。

  • 附言。毫无头绪