مقدمة
Multithreading هو شيء نواجهه في كثير من الأحيان أثناء عملية التطوير وأيضًا إتقان لا غنى عنه وضروري. عندما نعلم أننا نحتاج إلى تنمية متعددة الخيوط ، فإن أول شيء نحتاج إلى معرفته هو بشكل طبيعي كيفية تنفيذ متعدد الخيوط ، أي كيف يجب أن ننشئ مؤشرات الترابط.
إنشاء مؤشرات الترابط في Java هو نفسه إنشاء عمليات كائن للفئات العادية. يمكننا إنشاء موضوعات بطريقتين:
1. ورث فئة الخيط وتجاوز طريقة التشغيل ().
2. قم بتنفيذ الواجهة القابلة للتشغيل وتنفيذ طريقة Run ().
الطريقة 1: ورث فئة الخيط
الكود بسيط جدا
أول تحميل مُنشئ حتى نتمكن من تسمية الخيط.
أعد كتابة طريقة التشغيل ().
هنا نسمح أولاً لاتخاذ الموضوع بإخراج اسم مؤشر الترابط + البدء.
ثم إخراج اسم الموضوع + رقم تدريجي كل 5 مللي ثانية.
/*** تم إنشاؤه بواسطة Holten.gao في 2016/10/17. */الفئة العامة threadThread يمتد Thread {public threadThread (اسم السلسلة) {super (name) ؛ } Override public void run () {system.out.println (this.getName ()+"start!") ؛ لـ (int i = 0 ؛ i <10 ؛ i ++) {system.out.println (this.getName ()+""+i) ؛ حاول {thread.sleep (5) ؛ } catch (interruptedException e) {E.PrintStackTrace () ؛ }}}}الطريقة 2: تنفيذ واجهة Runnable
الرمز بسيط للغاية أيضًا
تنفيذ طريقة Run ().
هنا نسمح أولاً لاتخاذ الموضوع بإخراج اسم مؤشر الترابط + البدء.
ثم إخراج اسم الموضوع + رقم تدريجي كل 5 مللي ثانية.
/*** تم إنشاؤه بواسطة Holten.gao في 2016/10/17. */الفئة العامة RunnablethRead تنفذ Runnable {Override public void run () {system.out.println (thread.currentThread (). getName ()+"start!") ؛ لـ (int i = 0 ؛ i <10 ؛ i ++) {system.out.println (thread.currentThRead (). getName ()+""+i) ؛ حاول {thread.sleep (5) ؛ } catch (interruptedException e) {E.PrintStackTrace () ؛ }}}}نتائج الاختبار
رمز الاختبار
/*** تم إنشاؤه بواسطة Holten.gao في 2016/10/17. */الفئة العامة الرئيسية {public static void main (string [] args) {threadthread = new threadthread ("threadthread") ؛ threadThread.start () ؛ Thread RunnablethRead = New Thread (newNnablethRead () ، "runnableThread") ؛ runnablethread.start () ؛ }}نتائج الاختبار
ThreadTheread ابدأ! 7threadthread 8runnablethread 9
مقارنة الطريقتين
1. لأن Java يدعم فقط الميراث الفردي ، باستخدام الطريقة لا يمكن للمرء أن يرث فئات أخرى ؛ في حين لن يؤثر تنفيذ الواجهات في الطريقة الثانية على ميراث الفئات الأخرى.
2. الطريقة 1: نظرًا لأنه يرث مؤشر الترابط ، يمكنك البدء بالذات الجديدة مباشرة ؛ بينما الطريقة 2: تحتاج إلى تمرير الكائن كمعلمة في كائن مؤشر الترابط للحصول على كائن مؤشر الترابط.
3. في الطريقة الأولى ، يمكنك الحصول مباشرة على اسم مؤشر الترابط من خلال this.getName ؛ أثناء تواجدك في الطريقة الثانية ، تحتاج إلى الحصول على thread.currentThread (). getName ().
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.