Implementación de Reactive Extensions para la JVM de Java que permite componer programas asíncronos y basados en eventos mediante secuencias observables.
tokio-rs/tokio
Un runtime asíncrono para Rust que ofrece planificación de tareas, E/S no bloqueante, networking y temporizadores para crear aplicaciones de red fiables.
- Estrellas
- 33,502
- Forks
- 5,781
- Issues abiertos
- 440
- Último commit
- hace 11 horas
¿Qué es?
Tokio es una plataforma de E/S no bloqueante y basada en eventos para escribir aplicaciones asíncronas en Rust. Incluye un planificador de tareas multihilo con robo de trabajo, un reactor basado en la cola de eventos del sistema operativo (epoll, kqueue, IOCP y similares) y sockets TCP y UDP asíncronos.
Está dirigido a desarrolladores que crean servicios de red y otros programas con un uso intensivo de E/S, y necesitan gestionar muchas conexiones simultáneas sin asignar un hilo a cada una. Las aplicaciones activan los feature flags que necesitan y luego usan async/await junto con spawn, los temporizadores y las primitivas de sincronización del runtime.
El proyecto forma parte de un ecosistema más amplio que incluye el framework web axum, la implementación HTTP hyper, la biblioteca gRPC tonic, las abstracciones de middleware tower y el framework de diagnóstico tracing.
Funciones clave
- 01Planificador de tareas multihilo con robo de trabajo
- 02Sockets TCP y UDP no bloqueantes
- 03Reactor basado en epoll, kqueue e IOCP
- 04Temporizadores y primitivas de sincronización asíncrona
- 05Los feature flags permiten incluir solo los componentes necesarios
Casos de uso
- Crear servidores de red TCP o UDP en Rust con alta concurrencia
- Escribir clientes asíncronos que llamen a muchos servicios en paralelo
- Ejecutar tareas en segundo plano con uso intensivo de E/S, temporizadores y cancelación
Inicio rápido
- 1
Añade Tokio a Cargo.toml con el conjunto completo de funcionalidades
tokio = { version = "1.54.1", features = ["full"] } - 2
Escribe el ejemplo de servidor de eco TCP en main.rs y ejecuta el proyecto con cargo
Antes de usarlo
- Requiere la cadena de herramientas de Rust; la versión mínima de Rust compatible es la 1.85.
- Tokio es una biblioteca de ejecución, por lo que solo resulta útil dentro de un proyecto de Rust que compiles tú mismo.
Temas
Preguntas frecuentes
- ¿Qué es tokio?
- Un runtime asíncrono para Rust que ofrece planificación de tareas, E/S no bloqueante, networking y temporizadores para crear aplicaciones de red fiables. Tokio es una plataforma de E/S no bloqueante y basada en eventos para escribir aplicaciones asíncronas en Rust. Incluye un planificador de tareas multihilo con robo de trabajo, un reactor basado en la cola de eventos del sistema operativo (epoll, kqueue, IOCP y similares) y sockets TCP y UDP asíncronos.
- ¿tokio es gratuito? ¿Qué licencia tiene?
- tokio es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿tokio sigue mantenido?
- Mantenimiento activo. El último commit de tokio fue el 24 oct 2026.
- ¿Para qué puedo usar tokio?
- Crear servidores de red TCP o UDP en Rust con alta concurrencia Escribir clientes asíncronos que llamen a muchos servicios en paralelo Ejecutar tareas en segundo plano con uso intensivo de E/S, temporizadores y cancelación
- ¿Cómo se instala tokio?
- Añade Tokio a Cargo.toml con el conjunto completo de funcionalidades: tokio = { version = "1.54.1", features = ["full"] } Escribe el ejemplo de servidor de eco TCP en main.rs y ejecuta el proyecto con cargo
- ¿Dónde consigo tokio?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/tokio-rs/tokio
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un complemento pequeño para la biblioteca requests de Python que envía solicitudes HTTP de forma asíncrona con concurrent.futures.
Framework Java asíncrono y dirigido por eventos para crear servidores y clientes de protocolos de red fáciles de mantener y de alto rendimiento.
Una biblioteca C que ofrece E/S asíncrona multiplataforma y proporciona el bucle de eventos que usa Node.js.
Framework de computación paralela y redes asíncronas en C++11, usado en los servicios de back-end de Sogou para crear flujos de tareas basados en DAG.
Una CLI minimalista en Rust que expone un puerto TCP local a través de un servidor remoto para que los servicios de localhost sean accesibles desde Internet.