Swift 5.10 میتواند جداسازی کامل دادهها را در کد همزمان اعمال کند و از خواندن و نوشتن همزمان رشتهها در حافظه یکسان جلوگیری کند.
اپل Swift 5.10 را منتشر کرده است، بهروزرسانی زبان برنامهنویسی منبع باز این شرکت که به نقطه عطفی بزرگ میرسد: ارائه ایمنی در برابر مسابقه داده از طریق جداسازی کامل داده در مدل همزمانی. این بهبود راه را برای انتشار برنامه ریزی شده سوئیفت ۶ آماده می کند.
باینریها برای Swift 5.10، معرفی شده در ۵ مارس، را میتوانید در اینجا پیدا کنید. swift.org برای Windows، macOS و Linux.
در توضیح این نقطه عطف، مهندس اپل سوئیفت، هالی بورلا، گفت که یک منبع مهم و فزاینده رفتار نامشخص، کد همزمان است که به طور ناخواسته به حافظه از یک رشته دسترسی پیدا می کند، در همان زمانی که رشته دیگر در حال نوشتن در همان حافظه است. بورلا خاطرنشان کرد که این ناامنی مسابقه داده نامیده میشود که نوشتن برنامههای همزمان را بسیار دشوار میکند. Swift 5.10 سرانجام پس از سال ها توسعه فعال، جداسازی کامل داده ها را برای همزمانی انجام می دهد. مدل همزمانی در Swift 5.5 در سپتامبر ۲۰۲۱ معرفی شد.
بورلا گفت: سوئیفت ۵.۱۰ جداسازی کامل داده ها را در زمان کامپایل زمانی که گزینه بررسی کامل همزمانی فعال است، اعمال می کند. این مرحله را برای سوئیفت ۶ آماده میکند، که حالت زبان سوئیفت ۶ را ارائه میکند که به طور پیشفرض جداسازی کامل دادهها را اعمال میکند. در عین حال، Swift 5.10 در برخی شرایط که امنیت کد با تجزیه و تحلیل کامپایلر اضافی ثابت می شود، هشدارهای مسابقه داده را تولید می کند.
بورلا گفت که تمرکز اصلی توسعه زبان برای Swift 6، بهبود قابلیت استفاده از بررسی دقیق همزمانی با کاهش خطاهای همزمانی مثبت کاذب در الگوهای رایج ثابت شده ایمن است. همزمانی ساختاریافته به عنوان هدف سمت سرور برای زبان سوئیفت ذکر شده است.
پست های مرتبط
سوئیفت به ایمنی مسابقه داده دست می یابد
سوئیفت به ایمنی مسابقه داده دست می یابد
سوئیفت به ایمنی مسابقه داده دست می یابد