《Clojure数据分析秘笈》——3.7节将安全的副作用引入STM中

简介:

本节书摘来自华章社区《Clojure数据分析秘笈》一书中的第3章,第3.7节将安全的副作用引入STM中,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.7 将安全的副作用引入STM中
STM的副作用并不安全。原因是dosync块很可能会被重试不止一次,无论副作用是正常的还是不当的,都会被一次又一次地执行。值会被多次写到屏幕或日志文件上。更糟的是,值被多次写入数据库。
然而,所有的程序都会产生一些副作用。控制复杂度的同时会引入副作用。最简单的办法是将副作用控制在事务外部。
本方法中,为了演示过程,这里将模拟进程饥饿(thread starvation)。这听起来很严重。但它仅意味着有一个进程无法获得其所需资源,因此它无法完成工作。这里将使用atom(一个不由STM控制的引用)来记录STM重试调用agent的次数。这样一来,可以知道产生问题的原因和解决方法。

相关文章
|
5月前
|
SQL 监控 安全
Dataphin V3.11焕新升级丨2大全新模块上线,让数据分析更敏捷、让数据流通更安全
Dataphin V3.11焕新升级丨2大全新模块上线,让数据分析更敏捷、让数据流通更安全
|
10月前
|
SQL 安全 搜索推荐
隐语V0.8.0发版:基于多方安全计算的数据分析引擎SCQL上线
隐语V0.8.0发版:基于多方安全计算的数据分析引擎SCQL上线
155 0
|
12月前
|
SQL 机器学习/深度学习 人工智能
隐语开源首个工业级多方安全数据分析系统SCQL:像写SQL一样「易用」隐私计算
隐语开源首个工业级多方安全数据分析系统SCQL:像写SQL一样「易用」隐私计算
164 0
|
12月前
|
监控 安全 数据挖掘
【HW前知识库储备】2020HW攻防演练总结:安全数据分析
【HW前知识库储备】2020HW攻防演练总结:安全数据分析
691 0
|
安全 数据挖掘
《数学建模:基于R》——1.7 数学建模案例分析——食品质量安全抽检数据分析
本节书摘来自华章计算机《数学建模:基于R》一书中的第1章,第1.7节,作者 薛毅,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1429 0
|
算法 大数据 数据挖掘
《Clojure数据分析秘笈》——导读
本节书摘来自华章社区《Clojure数据分析秘笈》一书中的目录,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看
1478 0
|
安全 数据挖掘
big data安全数据分析
http://www.slideshare.net/emcacademics/h11031-transformingtraditionalsecuritystrategiesso?qid=b...
815 0