hangscer

hangscer

elixir

对于akka系统中的dispatcher的理解

对于akka系统中的dispatcher的理解One        计算机组成原理中,对时间片的解释是:cpu给每个线程分配一个时间段,成为线程的时间片,通过必要的调度算法,达到微观串行,宏观并行的多线程效果。对于akka框架的actor实现,本人的理解是这样的: actor就像时间片,但是不同的是,这个“片”的度量是该actor处理消息的数量衡量,比如现有配置说每个actor处理完100个消息后,需要把线程资源让出给下一个actor使用(非抢占式调度),这样就实现了actor并发,也就得到了actor:t...

akka-stream与actor系统集成以及如何处理随之而来的背压问题

    这几天上海快下了五天的雨☔️☔️☔️☔️,淅淅沥沥,郁郁沉沉。    一共存在四个api: Source.actorRef,返回actorRef,该actorRef接收到的消息,将被下游消费者所消费。 Sink.actorRef,接收actorRef,做为数据流下游消费节点。 Source.actorPublisher,返回actorRef,使用于reactive stream的Publisher。 Sink.actorSubscriber,使用于reactive stream的Subscriber...

scala——figaro概率编程入门

《概率论与数理统计》是学生的必修课,本人隐隐约约还能想起个一二三。figaro(费加罗)是基于scala语言的概率编程软件,你可以在这里获取相关信息。虽说数学思想才是核心,但是要借助计算机得以计算大规模数据。本博文意在说明数学原理与算法的同时,还要详细讲解figaro库的使用方法(“调参侠”不可取)。概率推理是领域模型在不确定性条件下做出决策的一种方法。这里以角球模型来讲解:有统计显示9%的角球会造成进球,攻方中锋身高1.9米、以头球著称,守方门将刚刚受伤,被仅仅第一次出场的替补门将换上,而且球场的风很大。现在来简要说明三种推理方式: 预测未来事件,如下图所示,根据当前情况预测是否进球...

Ensime与Vscode搭建scala开发环境

Ensime与Vscode搭建scala开发环境Vscode和Atom是两款高颜值的文本编辑器。本人在工作中一般使用IDEA作为开发工具(工作机是Mac Pro,大内存、ssd运行IDEA也会偶尔卡死,在我的老式thinkpad小黑本上就更不用说了,语法提示卡顿严重,常常它还没来得及出现提示,我都把一句话敲到底了😂😂😂,我不是说IDEA不好,因为它太棒了,在功能上需要面面兼顾,十分智能,想你所想,所以才会这样)。本博文选取Vscode这款编辑器和sbt构建工具讲解。首先新建sbt项目,项目目录如下: 123456789├── src│  ├── main│  │  ├── java...

scala函数式编程——Y组合子

在介绍Y组合子之前先简单说明lambda演算的表达形式。这里有一个简单的数学函数,y是x的函数: 接着,我们再令: 现在y既可以用y=f(x)表示,或者y=g(x-1),此时y为(x-1)的函数。上述函数存在若干问题: 传统的函数表达方式没有显式给出自变量。 数学上对函数的定义与调用无法区分。x^2 -2*x+1可以当作f(x)的定义,又可以当作g(x)对(x-1)的调用。 邱奇这位数学家(他是图灵的老师)于20世纪30年代就上述问题提出了解决办法:lambda演算。基本形式如下所示: 现在用此形式修改上述函数,可得,该λ表达式中显式的指出x为自变量。当调用该λ表达式时,用一对括号将...
蒋航
知难行易
FRIENDS
明嗨 高峰