اذهب إلى المحتوى
  • 0

كيف أنشئ نيسب Thread في جافا؟

OsamaSaif

السؤال

Recommended Posts

  • 1

يوجد طريقتان لإنشاء Thread في جافا:

1- باستخدام الصف Thread من المكتبة  java.lang

2- تطبيق Runnable interface من المكتبة java.lang

لتشغيل الـ Thread يتم استدعاء الدالة start. بعد ذلك يتم تنفيذ الدالة run. أنشئ كائن صف class وليكن مثلًا TryThread واجعله يرث من الصف Thread.

قم بإعادة تعريف الدالة run التي ستنفذ بعد تشغيل الـThread والتي ستقوم بطباعة النصوص. في المثال أدناه تم إنشاء 3 Threads وتشغيلهم بالتتالي وكل Thread سيقوم بتنفيذ الدالة run الخاصة به. تحوي الدالة run على حلقة تكرار غير منتهية تقوم بتكرار طباعة النصوص حتى يتم ضغط زر enter:

import java.io.IOException;

class TryThread extends Thread {
  public TryThread(String firstName, String secondName, long delay) {
    this.firstName = firstName;
    this.secondName = secondName;
    aWhile = delay;
    setDaemon(true);
  }
  public void run() {
    try {
      while (true) {
        System.out.print(firstName);
        sleep(aWhile);
        System.out.print(secondName + "\n");
      }
    } catch (InterruptedException e) {
      System.out.println(firstName + secondName + e);
    }
  }
  private String firstName;
  private String secondName;
  private long aWhile;
}
public class MainClass {
  public static void main(String[] args) {
    Thread first = new TryThread("A ", "a  ", 200L);
    Thread second = new TryThread("B ", "b ", 300L);
    Thread third = new TryThread("C ", "c ", 500L);
    System.out.println("Press Enter when you have had enough...\n");
    first.start();
    second.start();
    third.start();
    try {
      System.in.read();
      System.out.println("Enter pressed...\n");
    } catch (IOException e) {
      System.out.println(e);
    }
    return;
  }
}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...