TokioRust 异步编程框架
Tokio 是 Rust 中的异步编程框架,它将复杂的异步编程抽象为 Futures、Tasks 和 Executor,并提供了 Timer 等基础设施。Tokio 快速、可靠,且可扩展。
Tokio 是一个事件驱动的非阻塞 I/O 平台,用于使用 Rust 编程语言编写异步应用。在高层设计上,它提供了一些主要组件:
多线程、工作窃取(work-stealing)的 task scheduler 。
由操作系统的事件队列(epoll,kqueue,IOCP 等)支撑的 reactor 。
异步 TCP 和 UDP 套接字。
这些组件提供构建异步应用所需的运行时组件。
示例
extern crate tokio; use tokio::prelude::*; use tokio::io::copy; use tokio::net::TcpListener; fn main() { // Bind the server's socket. let addr = "127.0.0.1:12345".parse().unwrap(); let listener = TcpListener::bind(&addr) .expect("unable to bind TCP listener"); // Pull out a stream of sockets for incoming connections let server = listener.incoming() .map_err(|e| eprintln!("accept failed = {:?}", e)) .for_each(|sock| { // Split up the reading and writing parts of the // socket. let (reader, writer) = sock.split(); // A future that echos the data and returns how // many bytes were copied... let bytes_copied = copy(reader, writer); // ... after which we'll print what happened. let handle_conn = bytes_copied.map(|amt| { println!("wrote {:?} bytes", amt) }).map_err(|err| { eprintln!("IO error {:?}", err) }); // Spawn the future as a concurrent task. tokio::spawn(handle_conn) }); // Start the Tokio runtime tokio::run(server); }
评论
asyncfpScala异步函数编程框架
asyncfp是一个Scala的异步函数编程框架,提供了自下而上的方法实现垂直可伸缩性。引入了一个全新的actor可与其他actor进行异步或者同步的互操作性,支持组合、组件相互依存以及复杂的生命周期
asyncfpScala异步函数编程框架
0
Koper分布式异步编程框架
KoperKoper是一个基于消息和事件驱动的分布式异步编程框架,Koper的设计目标是为大型场景提供高性能高吞吐的简单编程方案。Koper为分布式环境提供了简化的消息监听和数据事件监听模型,它可以帮
Koper分布式异步编程框架
0
Dactor轻量级同步异步统一编程框架
DActorIntroductionDActor框架可同时支持同步和异步代码,简化在线异步代码的开发,用同步代码的思维来开发异步代码,兼顾异步代码的高并发、无阻塞和同步代码的易读性,可维护性。基于协程
Dactor轻量级同步异步统一编程框架
0
phpdaemonPHP 异步框架
phpdaemon是 PHP异步框架,使用libevent 实现,它拥有很多特性。为应对高负载而设计。每一个worker可以处理上千个并发连接。主要特性:强大的服务器:HTTP,FastCGI,Fla
phpdaemonPHP 异步框架
0