Tokio

Tokio fornece:

  • Um runtime multi-threaded para executar cĂłdigo assĂ­ncrono.
  • Uma versĂŁo assĂ­ncrona da biblioteca padrĂŁo.
  • Um grande ecossistema de bibliotecas.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

  • Com a macro tokio::main agora podemos tornar main async.

  • A função spawn cria uma nova “tarefa” concorrente.

  • Nota: spawn recebe uma Future, vocĂȘ nĂŁo chama .await em count_to.

Exploração adicional:

  • Por que count_to (geralmente) nĂŁo chega a 10? Este Ă© um exemplo de cancelamento async. tokio::spawn retorna um handle que pode ser aguardado para esperar que ele termine.

  • Tente count_to(10).await em vez de spawn.

  • Tente aguardar a tarefa retornada de tokio::spawn.