今天,岂凡网络发布了Stateless Future 0.3.0和Stateless Future工具库 0.4.0,新增功能:

  • 新增JumpInto,提供了在Future中切换Executor的功能。
  • 新增Sleep,提供了在Future中异步等待的功能。
  • Promise从Stateless Future移到Stateless Future 工具库,精简了核心库。
  • 增加了一些测试用例和示例。
  • Nio2类改名为Nio2Future

关于Stateless Future

Stateless Future是岂凡网络开发的异步框架,主要功能有:

  • 为Scala提供了类似C# async/awaitFuture/await异步语法。
  • 为Scala提供了类似C# yield语法的Generator
  • 解决了Scala标准库scala.concurrent.Future和提议标准scala.async的问题:无法处理异步代码中的异常。
  • 解决了Scala标准库scala.concurrent.Future的问题:无法跨线程模型进行异步编程。
  • 整合了Java NIO.2 API。
  • 整合了Akka Actor API。

示例

// 用Stateless Future编写的异步TCP客户端
Future {
  val socket = AsynchronousSocketChannel.open()
  try {
    Nio2Future.connect(socket, new InetSocketAddress("localhost", 8000)).await
    val buffer = ByteBuffer.wrap("Hello, World!".getBytes)
    Nio2Future.write(socket, buffer).await
  } finally {
    socket.close()
  }
}

相关链接


小绽

岂凡技术小站