Send e Sync

Como o Rust sabe proibir o acesso compartilhado entre threads? A resposta estĂĄ em dois traits:

  • Send: um tipo T Ă© Send se for seguro mover um T entre threads
  • Sync: um tipo T Ă© Sync se for seguro mover um &T entre threads

Send e Sync sĂŁo unsafe traits. O compilador os derivarĂĄ automaticamente para seus tipos desde que contenham apenas os tipos Send e Sync. VocĂȘ tambĂ©m pode implementĂĄ-los manualmente quando souber que sĂŁo vĂĄlidos.

  • Pode-se pensar nesses traits como marcadores de que o tipo possui certas propriedades de segurança de threads.
  • Eles podem ser usados nas restriçÔes genĂ©ricas como traits normais.