Exemplo

Vamos ver Arc e Mutex em ação:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 8 minutes.

Solução possível:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Partes notĂĄveis:

  • v Ă© agrupado em ambos Arc e Mutex, porque seus interesses sĂŁo ortogonais.
    • Envolver um Mutex em um Arc Ă© um padrĂŁo comum para compartilhar estado mutĂĄvel entre threads.
  • v: Arc<_> precisa ser clonado como v2 antes que possa ser movido para outra thread. Note que move foi adicionado Ă  assinatura lambda.
  • Os blocos sĂŁo introduzidos para restringir o escopo do LockGuard tanto quanto possĂ­vel.