مثال

اجازه دهید Arc و Mutex را در عمل ببینیم:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Speaker Notes

This slide should take about 8 minutes.

راه‌حل ممکن:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

بخش‌های قابل توجه:

  • v در Arc و Mutex احاطه می‌شود، زیرا مسائل آنها شبیه به هم است.
    • قرار دادن یک Mutex در یک Arc یک الگوی رایج برای به اشتراک گذاشتن حالت قابل تغییر (mutable) بین threadها است.
  • v: Arc<_> باید به عنوان v2 کلون شود تا بتوان آن را به thread دیگری منتقل کرد. نکته move به lambda signature اضافه شد.
  • بلوک‌ها برای محدود کردن دامنه LockGuard تا حد امکان معرفی شده‌اند.