متغیرهای ثابت قابل تغییر
خواندن یک متغیر استاتیک تغییرناپذیر بیخطر است:
بااینحال، از آنجایی که شرایط رقابتی دادهها ممکن است رخ دهد، خواندن و نوشتن متغیرهای mutable static ناامن است:
Speaker Notes
This slide should take about 5 minutes.
-
برنامه در اینجا امن است زیرا single-thread است. با این حال، کامپایلر Rust محافظه کار است و بدترینها را در نظر میگیرد.
unsafe
را حذف کنید و ببینید چگونه کامپایلر توضیح میدهد که جهش یک static از چندین thread یک رفتار تعریف نشده است. -
استفاده از یک static قابل تغییر (mutable) به طور کلی ایده بدی است، اما مواردی وجود دارد که ممکن است در کدهای سطح پایین
no_std
منطقی باشد، مانند اجرای یک heap allocator یا کار با برخی از APIهای مربوط به زبان C.