به مبحث Concurrency در Rust خوش‌آمدید

زبان Rust به طور کامل از concurrency در سطح thread های سیستم‌عامل با استفاده از mutex ها و channel ها پشتیبانی می‌کند.

سیستم Rust راست نقش مهمی در تبدیل بسیاری از باگ‌های concurrency به باگ‌های زمان کامپایل ایفا می‌کند. این مورد اغلب به‌عنوان هم‌زمانی بی‌پروا ( fearless concurrency) شناخته می‌شود زیرا می‌توانید به کامپایلر برای اطمینان از صحت در زمان اجرا (runtime) اعتماد کنید.

برنامه زمانی

با احتساب استراحت‌های ۱۰ دقیقه‌ای، این جلسه باید حدود ۳ ساعت و ۲۰ دقیقه طول بکشد. شامل موارد زیر است:

بخشمدت زمان
تردها۳۰ دقیقه
کانال‌ها۲۰ دقیقه
Send و Sync۱۵ دقیقه
ناحیه‌های مشترک۳۰ دقیقه
تمرین‌ها۱ ساعت و ۱۰ دقیفه
  • ‏ Rust به ما اجازه می‌دهد تا به ابزارهای همزمانی سیستم عامل دسترسی داشته باشیم: thread‌ها، سازوکارهای همگام‌سازی و غیره.
  • این سیستم تایپ به ما ایمنی لازم برای concurrency بدون هیچ ویژگی خاصی می‌دهد.
  • همان ابزارهایی که به ما در دسترسی concurrent در یک thread واحد کمک می‌کنند (مانند یک تابع فراخوانی شده که ممکن است یک آرگومان را تغییر دهد یا مراجعی به آن را برای خواندن بعد ذخیره کند) ما را از مشکلات multi-threading نجات می‌دهند.