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

How To Block Thread Untill Done?

بدأه .S.T.A.L.K.E.R في 13 سبتمبر 2009 · 8 رد · 419 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

كيف يمكنني من ايقاف ما بعد Thread معين

حتى يتم ال Thread عمله

بدون استخدام wait or sleep or listeners ????

شكرا لكم

#2

إستعمل الميثود join() الموجودة في Thread

هذا مثال على استعمال join، في المثال، عند الوصول إلى index 100، فإن البرنامج ينتظر حتى يكتمل تنفيذ الthread ثم بعد ذلك يكمل عمله

في حين أنه بدون استعمال join، فمرة ينفذ الthread ثم بعد حين يتوقف وتشتغل الmain ثم بعد فترة يشتغل الthread وهكذا



public static void main(String[] args) {
Thread t = new Thread() {
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("Thread running -- " + i);
}
}
};
for (int i = 0; i < 1000; i++) {
System.out.println("main running -- " + i);
if (i == 100) {
t.start();
try {
t.join();
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}
}
		 public class Test {

#3

شكر على ردك

لكن الموضوع كالاتي

احاول قرأة بيانات من الانترنت و يتوجب ان يكون القرأة في thread

لكن لا اعرف متى اتم القرأة بحيث انفذ كود ما بعد الthread حيث لا استطيع ان اضع الكود في الthread نفسها

فلذلك يجب ان اعمل block حتى تتم الthread عملها بدون استخدام wait or sleep or listeners

#4

ممكن تعمل boolean مثلا readingDone يكون false، ولما يكمل الthread القراءة يجعله true، وفي الكود الذي يجب أن ينتظر انتهاء الthread تتحقق من قيمة readingDone، وإذا كانت true تكمل الإشتغال

أو استعمل الميثود join()، ما المشكل مع هذه الميثود؟؟

#5

شكرا استاذ herch

و بعرف انك ما بتحبب كلمة استاذ يا استاذ

:rose:

#6

العفو يا بروفيسور محمد :lol:

#7

محمد لماذا تستخد thread إذا كنت فعلاً تريد الأمور بأمر متتابع

:)

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

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

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

728x90.png

#8

صدقا انا مستغرب

لكن في API استخدمها في الشركة

عاملة كركبة

واذا ما استخدمت اي استدعاء لل Network في thread فان مشاكل كثيرة تظهر في البرنامج

و ايضا من غباء ال Product Managers و خليها بينا

#9

ههههههههههههه

هكذا الموضوع مقبول

المشكلة هكذا دائماً سوء التخطيط في API يؤدي إلى فقد الأداء الجيد

تحياتي

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

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

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

728x90.png

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