English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يستخدم مفتاح التمرد في بيئات متعددة الخيوط حيث تقرأ وتكتب اثنتان من الخيوط نفس المتغير. سينقل مفتاح التمرد التغييرات مباشرة إلى الذاكرة الرئيسية بدلاً من المخزن المؤقت للمعالج.
من جهة أخرى، يتم استخدام مفتاح الكلمة المؤقتة أثناء عملية التمرد. لا يمكن أن تكون الحقول المميزة كجزء من التمرد والتعديل. لا نريد حفظ قيمة أي متغير، لذا سنستخدم مفتاح الكلمة المؤقتة مع هذا المتغير.
الرقم | المفتاح | القابل للتغير | الجملية |
---|---|---|---|
1 | الأساسية | يستخدم مفتاح التمرد لتحديث التغييرات مباشرة إلى الذاكرة الرئيسية | يستخدم مفتاح الكلمة المؤقتة لاستبعاد المتغيرات أثناء التمرد |
2. | القيم الافتراضية | لا يستخدم التمرد الافتراضية في التمرد | في فترة التعديل، سيتم إعداد المتغيرات المؤقتة باستخدام القيم الافتراضية |
3 | ثابت | يمكن استخدام المتغيرات الثابتة مع المتغيرات الثابتة. | لا يمكن استخدام الكلمة المفتاحية static معًا |
4 | في النهاية | يمكن استخدام الكلمة المفتاحية final معًا | لا يمكن استخدام الكلمة المفتاحية transient مع الكلمة المفتاحية final معًا |
//A sample class that uses transient keyword to //تخطي التسلسل class TransientExample implements Serializable { transient int age; //تحديد الحقول الأخرى private String name; private String address; //كود آخر }
class VolatileExmaple extends Thread{ boolean volatile isRunning = true; public void run() { long count = 0; while (isRunning) { count++; } System.out.println("线程终止。" + count); } public static void main(String[] args) throws InterruptedException { VolatileExmaple t = new VolatileExmaple(); t.start(); Thread.sleep(2000); t.isRunning = false; t.join(); System.out.println("isRunning set to " + t.isRunning); } }