تور راست فهرست مطالب

به اشتراک گذاشتن بین Thread ها

Mutex یه ساختار داده‌ی کانتینره که معمولاً توسط smart pointer ها نگه داشته می‌شه، داده می‌گیره و بهمون اجازه می‌ده رفرنس‌های mutable و immutable به داده‌های داخلش قرض بگیریم. این کار جلوی سوءاستفاده از قرض گرفتن رو می‌گیره، چون سیستم‌عامل فقط اجازه می‌ده یه thread پردازنده در یه لحظه به داده دسترسی داشته باشه، و thread های دیگه رو بلاک می‌کنه تا وقتی که اون thread اصلی با قرض قفل‌شده‌ش کارش تموم بشه.

چندریسمانی (multithreading) فراتر از حوصله‌ی تور راست هست، ولی Mutex یه بخش بنیادی توی هماهنگ کردن چند تا thread پردازنده که به یه داده‌ی مشترک دسترسی دارن، محسوب می‌شه.

یه smart pointer خاص به اسم Arc هست که دقیقاً مثل Rc هست، با این تفاوت که از یه افزایش thread-safe برای شمارش رفرنس‌ها استفاده می‌کنه. معمولاً برای داشتن رفرنس‌های زیاد به یه Mutex یکسان استفاده می‌شه.