Send
e Sync
Como o Rust sabe proibir o acesso compartilhado entre threads? A resposta está em duas características:
Send
: um tipoT
éSend
se for seguro mover umT
entre threadsSync
: um tipoT
é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.
- One can think of these traits as markers that the type has certain thread-safety properties.
- They can be used in the generic constraints as normal traits.