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

كيف اعمل Recursion في دالة تنفيذ Thread ؟؟؟؟

بدأه MKSoft في 12 أغسطس 2008 · 5 رد · 667 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

من المعرف يا إخواني اننا لو اردنا ان نعمل Recursion في دالة معينة فإننا نقوم بإستدعاء نفس إسم الدالة اي على الشكل التالي::

void xx()
{
xx();
}

لكن السؤال كيف يمكن عمل Recursion لدلة تنفيذ Thread و أقصد هنا دالة run ؟؟؟؟

#2

لا أظن أن هناك مشاكل

هل جربت أن تقوم بعملية Recursion

ولاحظت أن هناك مشكلة ما؟

ثم لماذا تريد أن تستخدم Recursion؟

فصل أكثر قليلاً

تحياتي

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

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

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

728x90.png

#3

السلام عليكم اخي :

حقيقة انا اريد هذا الإستفسار و ذلك بسبب هدف ما يلزمني في برمجتي في المستقبل القريب .

حقيقة // قمت بتجريب مثال بسيط , لكن الذي لا أعرفه , هل بإستدعاء recursion يقوم بفتح Thread جديد , ام يبقى على نفس Thread ؟؟

public class RecThread implements Runnable
{
	Thread t;
	public RecThread(){
		t = new Thread(this);
		t.start();
	}
	public void run(){
		int i = 0;
		while(i < 10){
			if(i == 5)
run();
			else
			System.out.println("i:=["+i+"]");

			try{Thread.sleep(500);}
			catch(Exception ex){}
			i++;
		}
	}
	public static void main(String[]args){
		RecThread rt = new RecThread();
	}
}

تم تعديل هذه المشاركة بواسطة MKSoft في 12 أغسطس 2008 في 19:56

#4

سلام

لما تستدعي الدالة run بشكل مباشر يكون التنفيذ بنفس الThread الي استدعاها

الدالة start هي الي تسبب إنشاء Thread جديد... وتقدر تستديعها مرة واحدة فقط لكل Thread

تم تعديل هذه المشاركة بواسطة javaRocks&Rolls في 12 أغسطس 2008 في 22:01

#5

شكرا أخيjavaRocks&Rolls على التوضيح , وبارك الله فيك.

#6

زيادة على ماقال جافا روك

هناك نقطه مهمه وهي علاقة برنامجك بالثريد ،

وقد فصلت كيفية عمل الثريد وشكل الستاك في موضوع نظره على الثريد

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