Implementação das Reactive Extensions para a Java VM, que permite compor programas assíncronos e orientados a eventos com sequências observáveis.
tokio-rs/tokio
Runtime assíncrono para Rust com agendamento de tarefas, I/O não bloqueante, rede e temporizadores para criar aplicações de rede confiáveis.
- Estrelas
- 33,502
- Forks
- 5,781
- Issues abertas
- 440
- Último commit
- há 11 horas
O que é?
Tokio é uma plataforma orientada a eventos e com I/O não bloqueante para escrever aplicações assíncronas em Rust. Ela reúne um agendador de tarefas multithread com roubo de trabalho, um reator baseado na fila de eventos do sistema operacional (epoll, kqueue, IOCP e similares) e sockets TCP e UDP assíncronos.
O projeto é voltado a desenvolvedores que criam serviços de rede e outros programas com uso intenso de I/O e precisam lidar com muitas conexões simultâneas sem dedicar uma thread a cada uma. As aplicações ativam as feature flags necessárias e, em seguida, usam async/await com as funções spawn, os temporizadores e as primitivas de sincronização do runtime.
O projeto faz parte de um ecossistema mais amplo, que inclui o framework web axum, a implementação HTTP hyper, a biblioteca gRPC tonic, as abstrações de middleware tower e o framework de diagnóstico tracing.
Recursos principais
- 01Agendador de tarefas multithread com roubo de trabalho
- 02Sockets TCP e UDP não bloqueantes
- 03Reator baseado em epoll, kqueue e IOCP
- 04Temporizadores e primitivas de sincronização assíncronas
- 05Feature flags permitem incluir apenas os componentes necessários
Casos de uso
- Criar servidores de rede TCP ou UDP em Rust com alta concorrência
- Escrever clientes assíncronos que chamam muitos serviços simultaneamente
- Executar tarefas em segundo plano com uso intenso de I/O, temporizadores e cancelamento
Início rápido
- 1
Adicione Tokio ao Cargo.toml com o conjunto completo de recursos
tokio = { version = "1.54.1", features = ["full"] } - 2
Escreva o exemplo de servidor de eco TCP em main.rs e execute o projeto com cargo
Antes de usar
- Requer a toolchain do Rust, com versão mínima compatível do Rust 1.85.
- Tokio é uma biblioteca de runtime, portanto só é útil dentro de um projeto Rust que você mesmo compile.
Tópicos
Perguntas frequentes
- O que é tokio?
- Runtime assíncrono para Rust com agendamento de tarefas, I/O não bloqueante, rede e temporizadores para criar aplicações de rede confiáveis. Tokio é uma plataforma orientada a eventos e com I/O não bloqueante para escrever aplicações assíncronas em Rust. Ela reúne um agendador de tarefas multithread com roubo de trabalho, um reator baseado na fila de eventos do sistema operacional (epoll, kqueue, IOCP e similares) e sockets TCP e UDP assíncronos.
- tokio é gratuito? Qual é a licença?
- tokio é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- tokio ainda é mantido?
- Manutenção ativa. O último commit de tokio foi em 24 de out. de 2026.
- Para que posso usar tokio?
- Criar servidores de rede TCP ou UDP em Rust com alta concorrência Escrever clientes assíncronos que chamam muitos serviços simultaneamente Executar tarefas em segundo plano com uso intenso de I/O, temporizadores e cancelamento
- Como instalar tokio?
- Adicione Tokio ao Cargo.toml com o conjunto completo de recursos: tokio = { version = "1.54.1", features = ["full"] } Escreva o exemplo de servidor de eco TCP em main.rs e execute o projeto com cargo
- Onde consigo tokio?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/tokio-rs/tokio
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um complemento leve para a biblioteca requests do Python que envia requisições HTTP de forma assíncrona usando concurrent.futures.
Framework Java assíncrono e orientado a eventos para criar servidores e clientes de protocolo de rede de alto desempenho e fáceis de manter.
Biblioteca C que oferece I/O assíncrono multiplataforma e implementa o loop de eventos usado pelo Node.js.
Framework de computação paralela e redes assíncronas em C++11, usado nos serviços de back-end da Sogou para criar workflows de tarefas baseados em DAG.
Uma CLI minimalista em Rust que expõe uma porta TCP local por meio de um servidor remoto, permitindo acessar serviços do localhost pela internet pública.