ZIO - Scala 异步并发编程库


Apache
跨平台
Scala

软件简介

ZIO 是一个零依赖的 Scala 库,用于异步并发编程。

主要特性:

  • 高性能. 比 Scala 的 Future 的性能高 100 倍以上
  • 类型安全. 使用强大的 Scala 编译器在编译时捕获 Bug
  • 并发. 可轻松构建并发应用,没有死锁、竞争以及复杂度
  • 异步. 无论是异步还是同步代码编写逻辑都一样
  • 资源安全. 不会产生资源泄露,包括线程
  • 可测试.
  • 弹性.
  • 实用

示例代码:

import zio.App
import zio.console._

object MyApp extends App {

  def run(args: List[String]) =
    myAppLogic.fold(_ => 1, _ => 0)

  val myAppLogic =
    for {
      _    <- putStrLn("Hello! What is your name?")
      name <- getStrLn
      _    <- putStrLn(s"Hello, ${name}, welcome to ZIO!")
    } yield ()
}