为了账号安全,请及时绑定邮箱和手机立即绑定

在 Scala 中实现 Go 的并发模式难吗?

在 Scala 中实现 Go 的并发模式难吗?

Go
繁花如伊 2021-07-07 14:19:45
毫无疑问,Go 的语法比 Scala 的要简单得多。它还具有较少的语言功能。我非常喜欢使用 Go 轻松编写并发代码。事实证明,高性能代码是无阻塞代码(参见http://norvig.com/21-days.html#Answers),Go和 Scala 都非常擅长这一点。我的问题是如何通过实现相同的并发模式在 Scala 中编写与 Go 程序完全相同的程序。首先想到的是以与 Channels 类似的方式使用 Futures。我在找Go 并发模式在 Scala 中的可能实现如果 Go 结构很难在 Scala 中精确模拟代码片段任何帮助深表感谢。Go 并发模式的几个例子 http://talks.golang.org/2012/concurrency.slide扇入func fanIn(input1, input2 <-chan string) <-chan string {  c := make(chan string)  go func() {    for {      select {        case s := <-input1:  c <- s        case s := <-input2:  c <- s      }    }  }()  return c}超时粒度(一个频道与整个对话)在多个实例之间复制服务调用并返回第一个响应的值。(这是使用一组模式)全部:无锁。没有条件变量。没有回调。(Scala Futures 使用回调)
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 203 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信