Midسختی 3 از ۵· در 50٪ مصاحبههای این حوزه پرسیده شده
چرا از System.Threading.Lock استفاده کنیم؟
☆نشان کردنپاسخ کوتاه
نسبت به lock(object) کارایی بهتری در سناریوهای چندنخی دارد و Type Safety بالاتری فراهم میکند.
پاسخ کامل
Lock یک نوع اختصاصی برای قفلگذاری است که کامپایلر آن را میشناسد و بهینهتر از قفلگذاری روی یک object عمومی عمل میکند؛ همچنین از اشتباهاتی مثل قفلگذاری تصادفی روی یک آبجکت عمومی جلوگیری میکند.
مثال کد
private readonly Lock _lock = new();
lock (_lock) { /* Critical Section */ }
