واجهة قابلة للتشغيل في Java: التنفيذ والخطوات والأخطاء

نشرت: 2021-05-02

جدول المحتويات

مقدمة

الواجهة القابلة للتشغيل في Java هي واجهة يمكن تشغيل مثيلاتها على هيئة مؤشر ترابط. أثناء العمل مع الخيوط ، تعمل الواجهة القابلة للتشغيل كعنصر أساسي في لغة برمجة Java. يجب أن تقوم فئات Java التي تم إنشاؤها لتشغيل مؤشرات الترابط بتنفيذ هذه الواجهة. ستمنحك هذه المقالة فهمًا عميقًا للواجهة القابلة للتشغيل في Java وعملية التنفيذ.

ما هي الواجهة القابلة للتشغيل في Java؟

الواجهة القابلة للتشغيل هي واجهة تحتوي على طريقة واحدة. يعرّف برنامج Java هذه الطريقة المنفردة في حزمة java.lang ويستدعيها عند تنفيذ فئة مؤشر الترابط. يوفر نموذجًا للكائنات التي يمكن للفصل تنفيذها باستخدام الخيوط. يمكنك تنفيذ الواجهة القابلة للتشغيل في Java بإحدى الطرق التالية:

  • باستخدام موضوع الفئة الفرعية
  • تجاوز طريقة run ()

لا تسمح Java بالوراثة المتعددة في البرنامج. يمكنك تمديد فئة واحدة فقط ، وعندما تقوم بتوسيع فئة مؤشر ترابط ، فإنها تستهلك المزيد من الذاكرة ووقت الحساب والموارد الأخرى. ومن ثم ، فإنه يضيف النفقات العامة لاستخدام طرق إضافية. من بين الخيارين أعلاه ، من الأفضل استخدام واجهة قابلة للتشغيل لإنشاء سلسلة رسائل. للقيام بذلك ، يجب عليك توفير التنفيذ للأسلوب run ().

خطوات إنشاء سلسلة رسائل باستخدام واجهة قابلة للتشغيل في Java

قم بتنفيذ الخطوات التالية لإنشاء سلسلة رسائل باستخدام الواجهة القابلة للتشغيل في Java .

  1. قم بإنشاء فئة مؤشر ترابط تقوم بتنفيذ الواجهة القابلة للتشغيل.
  2. في فئة مؤشر الترابط ، اكتب دالة لتجاوز طريقة run ().
  3. إنشاء مثيل لفئة مؤشر الترابط.
  4. مثيل مؤشر الترابط له مُنشئ يقبل الكائن القابل للتشغيل. قم بتمرير هذا الكائن كمعامل إلى مثيل مؤشر الترابط.
  5. أخيرًا ، قم باستدعاء طريقة البدء لمثيل مؤشر الترابط.

اقرأ أيضًا: أفكار وموضوعات مشروع Java

تنفيذ واجهة التشغيل في Java

يعد تنفيذ طريقة run () أسهل طريقة لإنشاء سلسلة رسائل جديدة. إنه بمثابة نقطة انطلاق لإنشاء سلسلة محادثات جديدة. يستخدم تنفيذ الواجهة القابلة للتشغيل الكود الموجود داخل طريقة run () وينفذها على مؤشر ترابط متزامن. يمكنك إما استدعاء فئة أو إنشاء متغيرات جديدة أو استدعاء الإجراء في طريقة run () لتنفيذ الواجهة القابلة للتشغيل في Java . يضمن البرنامج أن الخيط غير نشط حتى يطبع بيان الإرجاع في الكود.

فئة عامة TestRunnableInterface {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

System.out.println ("من الطريقة الأولية ():" + Thread.currentThread (). getName ())؛

System.out.println ("تنفيذ الواجهة القابلة للتشغيل في Java ") ؛

مثيل قابل للتشغيل = new Runnable () {Override

تشغيل باطل عام () {

System.out.println ("من طريقة التشغيل ():" + Thread.currentThread (). getName ())؛

}

} ؛

System.out.println (“إنشاء مثيل جديد لكائن مؤشر الترابط.”)؛

اختبار الموضوع = موضوع جديد (مثيل) ؛

System.out.println (“تنفيذ الموضوع!”) ؛

test.start () ؛

}

}

انتاج |

من الطريقة الأساسية (): main

تنفيذ الواجهة القابلة للتشغيل في Java

إنشاء مثيل جديد لكائن مؤشر الترابط.

من طريقة run (): Thread-0

تمت مواجهة أخطاء عند تنفيذ الواجهة القابلة للتشغيل في Java

أسلوب run () يطرح خطأ استثناء وقت التشغيل عندما ينكسر البرنامج بسبب بناء الجملة أو خطأ في التعليمات البرمجية. إذا لم يكتشف جهاز Java الظاهري الأخطاء ، فإن مؤشر الترابط الذي تم إنشاؤه يعالج الاستثناء الذي فاته JVM. معالج الاستثناء يطبع الاستثناء ويوقف البرنامج.

استيراد java.io.FileNotFoundException ؛

فئة عامة TestRunnableInterface {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

System.out.println (“الخيط الأساسي هو:” + Thread.currentThread (). getName ())؛

اختبار الخيط = خيط جديد (TestRunnableInterface () جديد. new DemoInstance ()) ؛

test.start () ؛

}

فئة خاصة DemoInstance تنفذ Runnable {

تشغيل باطل عام () {

System.out.println (Thread.currentThread (). getName () + "، استدعاء طريقة run ()!") ؛

يحاول {

رمي FileNotFoundException () الجديد ؛

}

catch (عرض FileNotFoundException) {

System.out.println (“Caught an Error!”)؛

demo.printStackTrace () ،

}

}

}

}

انتاج |

الخيط الأساسي هو: main

Thread-0 ، استدعاء طريقة run ()!

وقع خطأ!

java.io.FileNotFoundException

في TestRunnableInterface $ DemoInstance.run (Example.java:21)

في java.lang.Thread.run (Thread.java:748)

لا تطرح فئة TestRunnableInterface في البرنامج أعلاه استثناء FileNotFoundException. يعتني جهاز Java الظاهري بالاستثناءات التي كان يجب معالجتها بواسطة فئة TestRunnableInstance.

استخدام حالة الواجهة القابلة للتشغيل في Java

يتم استخدام الواجهة القابلة للتشغيل في Java في سيناريو الشبكة حيث يتلقى الخادم طلبات اتصال متعددة من العملاء. تقوم الواجهة القابلة للتشغيل في Java بمعالجتها بسرعة وكفاءة عن طريق تنفيذ برمجة متعددة الخيوط.

تعلم دورات تطوير البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

باختصار ، تعد الواجهة القابلة للتشغيل في Java دائمًا خيارًا أفضل مقارنةً بخيط الفئة الفرعية عندما يتعلق الأمر بإنشاء سلاسل رسائل في Java. الكود المستخدم في المقال هو لأغراض توضيحية فقط. يمكنك تعديل البيانات الواردة في الأمثلة وفقًا لمتطلباتك. في هذه المقالة ، تعلمنا عن الواجهة القابلة للتشغيل في Java وكيف يمكنك إنشاء مؤشر ترابط من خلال تنفيذ الواجهة القابلة للتشغيل في Java .

يمكنك تجربة الكود لتقوية معرفة مُنشئ Java الخاص بك. إذا كنت ترغب في اكتساب فهم متعمق لجافا ، فراجع برنامج upGrad Executive PG في دورة تطوير Full Stack . تم تصميم هذه الدورة للمهنيين العاملين وتقدم تدريبًا صارمًا ومساعدة وظيفية مع أفضل الشركات.

ما هو multithreading في جافا؟

Multithreading هو مفهوم في Java يتم فيه تنفيذ المهام في وقت واحد. يسمح للبرنامج بأداء العديد من المهام المختلفة في وقت واحد بدلاً من الانتظار حتى تكتمل مهمة واحدة. إنه أحد أكثر الموضوعات شيوعًا لمطوري Java و Java. تعد ميزة Multithreading إحدى الميزات القوية جدًا لجافا. يستخدم وحدة المعالجة المركزية بشكل فعال عن طريق تشغيل عدة مؤشرات ترابط. تحتوي Java على بنية خاصة تسمى الخيط. الخيط هو في الأساس عملية برمجية يمكنها تنفيذ تسلسل تعسفي لتعليمات Java bytecode. تنفيذ كل خيط مستقل عن المواضيع الأخرى. يمكن للمطورين إنشاء سلسلة رسائل جديدة في أي وقت وسيقوم JVM بمعالجة تنفيذ هذا الموضوع. هذا يساعد في تطوير تطبيق سريع الاستجابة وقابل للتطوير.

ما هي واجهة التشغيل في جافا؟

تُستخدم الواجهة القابلة للتشغيل لكتابة التطبيقات التي يمكن تشغيلها في سلسلة منفصلة. أي فئة تقوم بتنفيذ الواجهة القابلة للتشغيل تسمى مؤشر ترابط. يتم تنفيذ رمز الخيط بواسطة المترجم بعد بدء الخيط. يمكنك تنفيذ الواجهة القابلة للتشغيل وإنشاء برنامج تعدد مؤشرات الترابط الخاص بك. هناك طريقتان لتنفيذ هذه الواجهة. الأول باستخدام الفئة الفرعية لمؤشر الترابط. الآخر عن طريق تجاوز طريقة run ().

كيف يعمل multithreading في الواقع؟