يوفر Volatile آلية مزامنة ضعيفة لضمان إخطار سلاسل الرسائل الأخرى بالتحديثات المتغيرة. لا يتم تخزين المتغيرات المتطايرة مؤقتًا في السجلات أو تكون غير مرئية للمعالجات الأخرى، لذا فإن قراءة المتغير المتطاير تُرجع دائمًا أحدث قيمة مكتوبة. يمكن تخيلها على أنها الدلالات التالية، ولكن المتقلبة هي آلية مزامنة خفيفة الوزن. يمكن أن يضمن المتقلب الرؤية فقط، ولكن ليس الذرية. بمعنى آخر، لا يمكن استخدام المتغيرات المتطايرة في العمليات المركبة، مثل i++.
انسخ رمز الكود كما يلي:
مجموعة باطلة متزامنة عامة (قيمة int) {
this.value = value;
}
public المتزامنة getValue(){
قيمة الإرجاع؛
}
لا يمكن استخدام المتغيرات المتقلبة إلا عند استيفاء جميع الشروط التالية:
1. لا تعتمد عملية الكتابة للمتغير على القيمة الحالية للمتغير، أو يمكنك التأكد من أن مؤشر ترابط واحد فقط يقوم بتحديث قيمة المتغير.
2. لن يتم تضمين هذا المتغير في حالة الثبات مع متغيرات الحالة الأخرى
3. ليست هناك حاجة للقفل عند الوصول إلى المتغيرات.