الوقت/التاريخ الآن هو الثلاثاء مارس 19, 2024 7:01 am
1 نتيجة بحث عن بشكل
تعرف على الكائن Threads و طرق أستخدامه فى الجافا
بسم الله الرحمن الرحيمأهلا وسهلا بكم إخوانى الكرام .....درس اليوم إن شاء الله عن الكائن#Threads ....وهو أحد الكائنات المهمة لجدا لمعظم التطبيقات ..
أولا : نظرة عامة على الكائن Threads
وهو أحد الكائنات يتم استخدامة فى الجافا ليسمح للتطبيق بالقيام بعدة مهام مترابطة تعمل سويا #بشكل متزامن و التى تعمل في الخلفية لتوفير المساحة في ذاكرة الجهاز ....دعونا نأخذ مثالا على ذلك. نفترض أنك تقوم بتطوير برنامج محرر نصوص... في هذه الحالة....يمكنك أن تجعل مشروعك يقوم بعدة مهام فى وقت واحد.....بأن تجعل التطبيق يسمح للمستخدم بالكتابة فى المحرر و أن يقوم التطبيق بالتدقيق الإملائي للنص الذى كتبته فى نفس الوقت قيد التشغيل ...
مثال أخر .... نفترض أنك تقوم بتطوير برنامج تحميل ملفات من الانترنت .....بدون إستخدام هذا الكائن سيقوم التطبيق بتحميل الملف لكنه لن يستطيع تحميل ملفات أخرى الى أن ينتهى من تحميل الملف الحالى ....أما أذا أستخدمت الكائن Threads تستطيع تحميل أكثر من ملف فى وقت واحد ...
ثانيا : كيفية أستخدام الكائن Threads
هناك خياران لديك لأستخدام الكائن Threads فيمكنك أستخدام هذا الكائن من خلال توسيع الفئة المراد أستخدامه فيها عن طريق الامر extends Thread أو من خلال تنفيذ واجهة "Runnable" عن طريق الامر implements Runnable
1_ أستخدام الكائن من خلال توسيع الفئة extending Thread و تتطلب تلك الطريقة ما يلى :
أ_ يتم اضافة الامر extends Thread الى الشفرة الخاصة لانشاء فئة معينة
ب_ يجب أنشاء الطريقة void run و بداخلها الاوامر التى تريد تنفيذها بشكل متزامن .
ج_فى الدالة الرئيسة يتم إنشاء كائن من الفئة أعلاه
د_فى الدالة الرئيسية يتم استدعاء الأسلوب "start" من الكائن الذى تم إنشاؤه.
الآن الكائن Threads جاهز للاستخدام وسوف يبدأ تنفيذ الاوامر التى بداخل الطريقة void run بشكل متواز .....
مثال : في هذا المثال، سوف نقوم بإنشاء اثنين من Threads هما "FirstThread" و "SecondThread". وسيقوم كل من هذه الكائنات بطباعة أرقام 1، 2، 3 ... 10 مع تأخير ثانية واحدة في عرض الرقم التالي. سيتم الطبقة ThreadDemo انطلاق هذه المواضيع "FirstThread" و "SecondThread".
الشفرة الخاصة بالكائن الاول :
- الكود:
public class FirstThread extends Thread {
public void run(){
for (int i=1; i<=10; i++){
System.out.println( "Messag from First Thread : " +i);
try {
Thread.sleep(1000);
}
catch (InterruptedException interruptedException)
{
System.out.println( "First Thread is interrupted when it is sleeping" +interruptedException);
}
}
}
}
الشفرة الخاصة بالكائن الثانى :
- الكود:
public class SecondThread extends Thread
{
public void run()
{
for (int i=1; i<=10; i++)
{
System.out.println( "Messag from Second Thread : " +i);
try
{
Thread.sleep (1000);
}
catch (InterruptedException interruptedException)
{
System.out.println( "Second Thread is interrupted when it is sleeping" +interruptedException);
}
}
}
}
الشفرة الخاصة فى الدالة الرئسية :
- الكود:
public static void main(String args[])
{
FirstThread firstThread = new FirstThread();
SecondThread secondThread = new SecondThread();
firstThread.start();
secondThread.start();
}
}
2_ أستخدام الكائن من خلال تنفيذ واجهة "Runnable" و تتطلب تلك الطريقة ما يلى :
أ_يتم َإضافة الامر implements Runnable الى الشفرة الخاصة لبناء الفئة
ب_ يجب أنشاء الطريقة void run و بداخلها الاوامر التى تريد تنفيذها بشكل متزامن
ج_فى الدالة الرئيسة يتم إنشاء كائن من الفئة أعلاه
د_تخصيص كائن thread للكائن الموجود لدينا
هــ_فى الدالة الرئيسية يتم استدعاء الأسلوب "start" من الكائن الذى تم إنشاؤه
مثال : نفس المثال السابق سنقوم بعملة بتلك الطريقة :
الكائن الاول :
- الكود:
public class FirstThread implements Runnable {
public void run(){
for (int i=1; i<=10; i++){
System.out.println( "Messag from First Thread : " +i);
try {
Thread.sleep(1000);
}
catch (InterruptedException interruptedException)
{
System.out.println( "First Thread is interrupted when it is sleeping" +interruptedException);
}
}
}
}
الكائن الثانى :
الشفرة الخاصة بالكائن الثانى :
- الكود:
public class SecondThread extends Thread
{
public void run()
{
for (int i=1; i<=10; i++)
{
System.out.println( "Messag from Second Thread : " +i);
try
{
Thread.sleep (1000);
}
catch (InterruptedException interruptedException)
{
System.out.println( "Second Thread is interrupted when it is sleeping" +interruptedException);
}
}
}
}
الدالة الرئسية :
- الكود:
public static void main(String args[])
{
FirstThread firstThread = new FirstThread();
SecondThread secondThread = new SecondThread();
Thread thread1 = new Thread(firstThread);
thread1.start();
Thread thread2 = new Thread(secondThread);
thread2.start();
}
}
لاحظ الفرق بين الطريقتين فى الدالة الرئسية
الى اللقاء فى درس أخر أن شاء الله تعالى
- في الجمعة أغسطس 09, 2013 11:43 pm
- ابحث في: أساسيات اللغة Java Basics
- موضوع: تعرف على الكائن Threads و طرق أستخدامه فى الجافا
- المساهمات: 1
- مشاهدة: 4704
أمس في 12:41 am من طرف marketing118
» شركة تنظيف ستائر بالرياض
الأحد مارس 17, 2024 10:46 pm من طرف moslema_r
» خيام ملكيه من الداخل
الأحد مارس 17, 2024 8:13 pm من طرف marketing118
» شركة نقل عفش بالطائف
الأحد مارس 17, 2024 6:34 pm من طرف marketing118
» كهربائي منازل بالرياض
الأحد مارس 17, 2024 1:52 pm من طرف رانيا حماد
» افضل شركة نقل عفش بالرياض نقل باكستاني 40% خصم | موقع الانوار
الأحد مارس 17, 2024 1:25 pm من طرف رانيا حماد
» افضل معلم جبس بالرياض تركيب جبس بورد بالرياض 20% خصم اتصل الآن
الأحد مارس 17, 2024 1:09 pm من طرف رانيا حماد
» شراء اثاث مستعمل بالكويت بخصم 30%
الأحد مارس 17, 2024 12:54 pm من طرف رانيا حماد
» افضل فني كهربائي منازل بالرياض جودة 100% | اتصل الآن
الأحد مارس 17, 2024 12:36 pm من طرف رانيا حماد
» أفضل فني سباك بالرياض ممتاز بالرياض | اتصل الآن
الأحد مارس 17, 2024 12:25 pm من طرف رانيا حماد