Write a complete java program that creating two threads separetly
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1 • شاطر
Write a complete java program that creating two threads separetly
السلام عليكم ورحمة الله وبركاته لو سمحتوا ممكن احد يفهمني ويشرح هذا السؤال ويحله لي واكون له شاكره
Write a complete java program that creating two threads separetly:
Each thread creating by implements Runnable interface.
One thread for printing odd number;
Second thread for printing even number;
Using sleep(10000 ) in each thread to stop 10 seconds between one printing and another
Hints: Do not forget using exception techniques with sleep()
Write a complete java program that creating two threads separetly:
Each thread creating by implements Runnable interface.
One thread for printing odd number;
Second thread for printing even number;
Using sleep(10000 ) in each thread to stop 10 seconds between one printing and another
Hints: Do not forget using exception techniques with sleep()
joryah- ..
- تاريخ التسجيل : 05/12/2012
المساهمات : 24
النقاط : 36
التقيم : 0
الدولة :
الجنس :
رد: Write a complete java program that creating two threads separetly
بسم الله الرحمن الرحيم
أهلا و سهلا اختى الكريمة و مرحبا بك مجدداً .....بالنسبة لسؤالك فهو يطلب انشاء برنامج جافا ليقوم بطابعة الاعداد الفردية و الزوجية باستخدام مايسمى threads و الدالة sleep بحيث تتم عملية الطباعة كل 10 ثوانى بعد طباعة كل رقم ....
قبل البدء تعالى نتعرف على الكائن threads ...فهو أحد الكائنات يتم استخدامة فى الجافا ليسمح للتطبيق بالقيام بعدة مهام مترابطة تعمل سويا بشكل متزامن و التى تعمل في الخلفية لتوفير المساحة في ذاكرة الجهاز .
أما كيفية إنشاء الكائن threads لابد من توفير الاتى :
1_ إنشاء الكلاس implements Runnable
2_ انشاء الطريقة void run()
و ذلك باستخدام الاكواد التالية :
- الكود:
class egy implements Runnable{
public void run(){
System.out.println("Hello world ");
}
}
كما تلاحظين فى الكود السابق قمت بإنشاء الكلاس egy على انه من نوع implements Runnable .....داخل هذا الكلاس أنشأنا الدالة أو الطريقة void run ....وبداخل تلك الطريقة كتبنا الكود المراد تنفيذة ....
أما فى الدالة الرئسية للبرنامج نقوم بكتابة الكود التالى :
- الكود:
public static void main(String[] args) {
egy a=new egy();
Thread t=new Thread(a);
t.start();
}
عرفنا الكائن a على انه كائن جديد من الكلاس egy ....بعد ذلك قمنا بالاعلان عن الكائن t على أنه كائن جديد من Thread ....و السطر الاخير لبدء تشغيل الكائن t
وهكذا بالنسبة لانشاء الكائن Thread و كيفية استخدامه .....نعود الان الى سؤالك
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
سؤالك يتطلب عدد 2 كائنات من Thread .....الاول لطباعة الاعداد الفردية odd number ....و الثانى لطباعة الاعداد الزوجية even number .......أذن الاكواد ستكون على النحو التالى :
1_ سأقوم بأنشاء واجهة الكائن الخاص بطباعة الاعداد الفردية باستخدام الكود التالى :
- الكود:
class egyodd implements Runnable{
public void run(){
for(int i=1;i<=11;i =2) {
System.out.println(i);
}
}
}
2_ سأقوم بأنشاء واجهة الكائن الخاص بطباعة الزوجية باستخدام الكود التالى :
- الكود:
class egyeven implements Runnable{
public void run(){
for(int i=0;i<11;i =2) {
System.out.println(i);
}
}
}
و يجب ملاحظة أن السؤال لم يحدد عدد الارقام المطلوب طباعتها لذلك أستخدمت ارقام من 0 الى11
و ايضا سؤالك أوضح بأنه يجب أستخدام الدالة sleep و ذلك لتتم عملية طباعة الارقام كل 10 ثوانى من طباعة الرقم الاول و بالتالى سيتم تعديل الاكواد السابقة على النحو التالى :
- الكود:
class egyodd implements Runnable{
public void run(){
for(int i=1;i<=11;i =2) {
System.out.println("odd:" i);
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
System.out.println("error:" ex.getMessage());
}
}
}
}
class egyeven implements Runnable{
public void run(){
for(int i=0;i<11;i =2) {
System.out.println("even:" i);
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
System.out.println("error:" ex.getMessage());
}
}
}
}
و يمكنك ملاحظة التغير فى الكود وهو أننا فى كتبنا الكود الذى سيقوم بايقاف البرنامج لمدة 10 ثوانى بين كل طباعة رقم لاخر باستخدام الدالة sleep و استخدام تلك الدالة سينتج عنها الخطأ InterruptedException لذلك استخدمنا التعليمة try ....catch
الخطوة الاخيرة تحت الدالة الرئسية للبرنامج نكتب الكود التالى :
- الكود:
public static void main(String[] args) {
egyodd a=new egyodd();
Thread t1=new Thread(a);
egyeven b = new egyeven();
Thread t2=new Thread(b);
t1.start();
t2.start();
}
اذن الكود النهائى لحل برنامجك سيكون على النحو التالى :
- الكود:
package ex1;
import java.util.logging.Level;
import java.util.logging.Logger;
class egyodd implements Runnable{
public void run(){
for(int i=1;i<=11;i =2) {
System.out.println("odd:" i);
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
System.out.println("error:" ex.getMessage());
}
}
}
}
class egyeven implements Runnable{
public void run(){
for(int i=0;i<11;i =2) {
System.out.println("even:" i);
try {
Thread.sleep(10000);
} catch (InterruptedException ex) {
System.out.println("error:" ex.getMessage());
}
}
}
}
public class Ex1 {
public static void main(String[] args) {
egyodd a=new egyodd();
Thread t1=new Thread(a);
egyeven b = new egyeven();
Thread t2=new Thread(b);
t1.start();
t2.start();
}
}
و المخرجات ستكون على النحو التالى :
ويجب ملاحظة أن عملية الطباعة ستتم كل 10 ثوانى من طباعة كل رقم حتى ينتهى البرنامج
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: Write a complete java program that creating two threads separetly
دايما شرحك متميز يا استاذ احمد ....جزاك الله خيراً على كل ما تقوم به من اجلنا
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: Write a complete java program that creating two threads separetly
استاذ احمد من قلبي لك جزيل الشكر على الشرح المبدع فعلا ابدعت جزاك الله خير حتى فهمت اشياء ما كنت اعرفها ممنونه لك كثير ...
joryah- ..
- تاريخ التسجيل : 05/12/2012
المساهمات : 24
النقاط : 36
التقيم : 0
الدولة :
الجنس :
رد: Write a complete java program that creating two threads separetly
استاذ احمد لو سمحت المخرجات ما طلعت لي مضبوطه يعني طلعها لي كلها رقم 2 اتوقع الخطا في for الارقام العدديه والفرديه حاولت اعدله مو راضي ياليت توضح لي الصح
joryah- ..
- تاريخ التسجيل : 05/12/2012
المساهمات : 24
النقاط : 36
التقيم : 0
الدولة :
الجنس :
رد: Write a complete java program that creating two threads separetly
joryah كتب:استاذ احمد لو سمحت المخرجات ما طلعت لي مضبوطه يعني طلعها
لي كلها رقم 2 اتوقع الخطا في for الارقام العدديه والفرديه حاولت اعدله
مو راضي ياليت توضح لي الصح
ارجوا المعذرة اختى الكريمة على هذا الخطأ .....قومى بعمل الات فى جملة for:
- الكود:
(int i=1;i<=11;i +=2)
ويجب ملاحظة أن ما تم تعديله هو إضافة معامل الاسناد (+) قبل الرقم (2) ....طبعا هذا فى كل من الكلاس egyodd و الكلاس egyeven
كما يوجد فى الكود خطأ بسيط أخر فى كلا الكلاسين وهو على النحو التالى :
- الكود:
System.out.println("odd:" i);
- الكود:
System.out.println("error:" ex.getMessage());
و الصحيح أن يكتب هكذا
- الكود:
System.out.println("odd:" +i);
- الكود:
System.out.println("error:" +ex.getMessage());
أى اننا قمنا بإضافة معامل الاسناد (+) فى جملة الطباعة ....
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
رد: Write a complete java program that creating two threads separetly
استاذ احمد تاكد لي من شرط الfor لانه ما يطلع القيم صح يطلع odd=3 و even=3 يكرر العدد زي كذا اتوقع كل for تختلف من الoddوeven
joryah- ..
- تاريخ التسجيل : 05/12/2012
المساهمات : 24
النقاط : 36
التقيم : 0
الدولة :
الجنس :
رد: Write a complete java program that creating two threads separetly
خلاص استاذ احمد مشكووور عدلت الفور وضبط معاااي شكرا
joryah- ..
- تاريخ التسجيل : 05/12/2012
المساهمات : 24
النقاط : 36
التقيم : 0
الدولة :
الجنس :
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: نقاش و أستفسارات الاعضاء
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
الخميس أبريل 25, 2024 8:56 pm من طرف moslema_r
» شركة مكافحة حشرات في راس الخيمة
الخميس أبريل 25, 2024 8:34 pm من طرف moslema_r
» تطبيقIncogniton لإدارة ملفات تعريف متعددة للمتصفح
الأربعاء أبريل 24, 2024 3:51 pm من طرف زاكااا
» افضل شركة مكافحة النمل الابيض بالرياض
الإثنين أبريل 22, 2024 9:41 pm من طرف moslema_r
» Exemplary Сasual Dating - Verified Women
الخميس أبريل 18, 2024 9:18 pm من طرف wdqwd
» رش الدفان بالرياض
الخميس أبريل 18, 2024 7:11 pm من طرف moslema_r
» شركة تنظيف خزانات الشارقة
الخميس أبريل 18, 2024 6:57 pm من طرف moslema_r
» شركة مكافحة الفئران بالرياض
الإثنين أبريل 15, 2024 8:23 pm من طرف moslema_r
» افضل شركة كشف تسربات المياه بالباحة
الخميس أبريل 04, 2024 7:02 am من طرف gmalnagy
» ساعدوني وفهموني help me
الجمعة مارس 29, 2024 8:37 am من طرف linesoft