Avatar ·

لماذا لا توجد كلمات مفتاحية للتنافسية (synchronized, volatile) في Kotlin؟

مرحباً بالجميع! أنا مطور مبتدئ في Kotlin، أنتقل من Java. في Java اعتدت استخدام الكلمات المفتاحية `synchronized` و `volatile`، بالإضافة إلى الكتل `synchronized` للتحكم في الوصول إلى الموارد المشتركة في التطبيقات متعددة الخيوط. لكن عندما بدأت الكتابة بلغة Kotlin، لاحظت أن اللغة لا تحتوي على هذه الكلمات المفتاحية! على سبيل المثال، حاولت كتابة عداد بسيط آمن للخيوط: ```kotlin class Counter { private var count = 0 fun increment() { // كيف يمكنني مزامنة هذه الدالة؟ count++ } } ``` في Java كنت سأكتب `public synchronized void increment()`، لكن في Kotlin لا توجد هذه الإمكانية. وجدت في التوثيق أن هناك تعليمة `@Synchronized` و `@Volatile`، لكن هذا ليس نفس الشيء مثل الكلمات المفتاحية. يبدو لي أن هذا قرار غريب جداً.