الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تنبيه ] سؤال بسيط على الثريد

بدأه programing*gril في 25 فبراير 2011 · 9 رد · 525 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد تقسيم مصفوفة بداخلها 10 ارقام من 10- 0

و تعريف 2 Thread

الاول يطبع الاعداد الزوجية والاخر الفردية

قد بدأت بكتابته ولكن اجد صعربة في تمرير المصفوفة فارجو المساعدة

ودمتم بود

package homeworke;

public class PrintedArray extends Thread{

    public static void main(String[] args) {
            PrintedArray Thread1 = new PrintedArray(int l[]);
            Thread1.Even();
            Thread1.start();

            PrintedArray Thread2 = new PrintedArray(int l[]);
            Thread2.Odd(r);
            Thread2.start();

    }//end main


    int m[] = {0,1,2,3,4,5,6,7,8,9,10} ;

   public PrintedArray(int o[]){
       m = o;
   }

    public static void Even(int y[]){
       for (int l = 0; l<=10; l++)
        if (2%y[l] == 0)
            System.out.println(l);
   }

    public static void Odd(int r[]){
       for (int l = 0; l<=10; l++)
        if (2%r[l] != 0)
            System.out.println(l);
   }
    public void run(){//override

        System.out.println();
    }//end run
}
308219358.gif
#2

المصفوفة التي تمرريرها فارغة! :)

جربي تمرري مصفوفة m "في الكود"

اقتباس

int m[] = {0,1,2,3,4,5,6,7,8,9,10} ;

أقصد في هذا السطر:

PrintedArray Thread1 = new PrintedArray(int l[]);

تم تعديل هذه المشاركة بواسطة JavaPorgrammer في 25 فبراير 2011 في 18:39

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#3
JavaPorgrammer كتب:

المصفوفة التي تمرريرها فارغة! :)

جربي تمرري مصفوفة m "في الكود"

أقصد في هذا السطر:

PrintedArray Thread1 = new PrintedArray(int l[]);

شكرا لك ولكنني فعلا قمت بتجريبها

من دون نفع

308219358.gif
#4

بعض التعديلات :)

public class Main  {



    public static void main(String[] args) {
        // TODO code application logic here
        int [] first ={1,3,4,8,1,6};
        int [] second ={2,4,5,7,3,0};
      new Thread(new a(first,"Even")).start();
      new Thread(new a(second,"Odd")).start();
		try {
			//delay for one second
			Thread.sleep(1000);
		} catch (InterruptedException e) {
		}

    }


}
class a implements Runnable{
     Thread runner;
    private int [] arry;
    private String type = "Even";//default is Even
public a(){}
public a(int []arry, String type){
   this.arry = arry;
   this.type = type;

}
public static  void Even(int arry[]){
       for (int l = 0; l<=arry.length; l++)
        if (arry[l]%2 == 0)
            System.out.println(arry[l]);
   }
public static void Odd(int arry[]){
       for (int l = 0; l<=arry.length; l++)
        if (arry[l]%2 != 0)
            System.out.println(arry[l]);
   }

    public void run() {
        if(type.equalsIgnoreCase("Even")){
         Even(arry);}
        else{
         Odd(arry);}
    }


}
1

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#5
JavaPorgrammer كتب:

بعض التعديلات :)

أولا انا بتشكرك فعلا

لكن لا زال هناك اخطاء ربما اذا قمت بالتركيز فيها سوف أجدها ان شاء الله

ولكن ان كان لديك اطلاع على مفهوم الـ thread

انا لم اجد اي معنا لاستخدامه هنا

؟

اي ان هناك طريقة اخرى مقصودة؟

شاكرة حسن تعاونك

308219358.gif
#6

تكمن اهميته في البرامج ذات العمليات الكثيرة وتحتاج تنفيذها في وقت متزامن .. لكن البرامج الصغيرة من وجهة نظري لا اعتقد انها بحاجة لذلك..

سيفيدك هذا الرابط :

http://www.javaworld.com/jw-04-1996/jw-04-threads.html

عفواً أحبتي انقطاعي بسبب الدراسة دعواتكم بالتوفيق..

{ لا ينال العلم مستحٍ ولا مستكبر }

#7
JavaPorgrammer كتب:

تكمن اهميته في البرامج ذات العمليات الكثيرة وتحتاج تنفيذها في وقت متزامن .. لكن البرامج الصغيرة من وجهة نظري لا اعتقد انها بحاجة لذلك..

سيفيدك هذا الرابط :

http://www.javaworld.com/jw-04-1996/jw-04-threads.html

مرة أخرى شكرا لك

308219358.gif
#9
programing*gril كتب:

لا زال هناك اخطاء ربما اذا قمت بالتركيز فيها سوف أجدها ان شاء الله

الخطأ الموجود هو علامه اليساوى التى فى كلا من for loop

l <= arry.length

يجب ازالتها من الـ2 for loop

لتكون هكذا

for (int l = 0; l < arry.length; l++)

بالتوفيق

Software Developer
Mahmoudkelany.com


 

#10

*- يحظر استخدام اللهجة العامية

*- أو كتابة الأسئلة باللغة الإنجليزية

*- أو كتابة الكلمات الإنجليزية بالعربية

====

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة