Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Маркерные трейты

Как Rust понимает, что нужно запретить разделяемый доступ между потоками? Ответ — в двух трейтах:

  • Send: тип T реализует Send, если безопасно переместить значение T через границу потока.
  • Sync: тип T реализует Sync, если безопасно переместить &T через границу потока.

Send и Sync — небезопасные трейты. Компилятор автоматически выведет их для ваших типов, пока они содержат только типы Send и Sync. Их также можно реализовать вручную, когда вы знаете, что это корректно.

This slide should take about 2 minutes.
  • Эти трейты можно считать маркерами того, что тип обладает определёнными свойствами потокобезопасности.
  • Их можно использовать в обобщённых ограничениях как обычные трейты.