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

مالحكمة من وجود الpthread ؟؟

مغلق
بدأه n3rd في 19 فبراير 2007 · 6 رد · 874 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

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

أما بعد:

كانت عندي مشاكل مع فهم مكتبة pthread.h ؟؟ (الدوال وكل شي أعرف أستخدمه لإنه أساسياتي في لغة السي أصبحت جيدة نوعا ما) :rolleyes:

وهذه صفحة عنها http://www.yolinux.com/TUTORIALS/LinuxTuto...ads.html#BASICS

مايهمني الآن هو pthread_create و pthread_join

=============

المعطيات لحل سؤالي:

-أستخدم نظام Linux.

-البرنامج عبارة عن سيرفر واحد ويتعامل مع أكثر من عميل(مع العلم إنه هناك في طلب وإرسال ملفات).(وأتمنى عدم طلب السورس كود) لإنه ليس ملكا خاص بي. # أتمنى تقدير الموقف اللي أنا فيه ## :wacko:

-البرنامج بلغة السي

=============

السؤال هو:

أريد أن أذكركم فقط إني لا أريد سوى أن أعرف أهمية الـThread في برنامج(سيرفر)يتعامل مع أكثر من عميل؟ << حيث يقوم السيرفر بإستقبال الطلبات من العملاء ومن ثم القيام بخطوات معينة وإرسال ملف(مختلف) إلي كل واحد منهم والإنتظار(أي أن السيرفر لايزال قيد التشغيل) من أي عميل لكي يطلب ملف ما وهكذا.؟ << يعني يمكن السيرفر يأتي له عميل بعد ربع ساعة ويطلب ملف معين

فيقوم السيرفر بتوفير هذا الملف ومن ثم الإنتظار حتى أقوم أنا بإغلاقه بنفسي.

هل أهميته هنا تكمن في إنه يعمل (خيط)Thread لكل عميل يطلب ملف من هذا السيرفر(حيث يقوم بعد إستقبال الطلب بتكوين خيط خاص لصاحب الطلب وتنفيذ خطوات معينة لإرسال هذا الملف إلي هذا العميل) ومن ثم ينتظر عميل آخر لكي يطلب نفس الملف (أو غيره) فيقوم بتكوين خيط(Thread) خاص به وإرسال الملفات له .. وهكذا.....

وطبعا في الخيط الواحد هناك مجموعة من الدوال اللتي لو طبقها البرنامج سوف يتم إرسال الطلب(وهو عبارة عن ملف) إلى صاحب الطلب(اللي طلب الملف)

أتمنى إنه كلامي يكون صحيح لإني لا أحب أن أتعلم الـOS حاليا وهي بحر . << لا أريد أن أشتت ذهني لإني مركز على لغة السي وبرمجة الشبكات حاليا.

أريد أن أعرف فقط ماهي أهمية الـThread في برنامج كهذا.؟

ساعدوني رجاء في فهم هذا التطبيق وإجابتي إجابة شافية :unsure:

ومشكورين إخواني.

تم تعديل هذه المشاركة بواسطة The_Sniper في 19 فبراير 2007 في 18:46

#2

ألا يوجد من يريد أن يجاوبني ؟ :)

#3

هل يوجد من يجاوب على سؤالي الوحيد المحير؟

#4

في برامج السيرفرات بشكل عام ال Threading مهم جدا لعملية برمجة السيرفر لانك انت بإستخدام ال Thread لتفصل تنفيذ الكود الذي يعمل عليه دالة إرسال الملف عن دالة إستقبال الطلبات في البرنامج الأساسي و الذي له خيط او Thread معطى من نظام التشغيل بدون ما تطلبله. تحيل انه برنامج مسمى ب Single Thread Applicatio اي برنامج يعمل على خيط واحد انه بدو يستقبل الطلب, يرسل الملف, يستقبل التأكيد على إستقبال الملف و غير هذه التأخيرات مثل اعطال الشبكة و غيرها مما يؤدي الى عدم قدرة البرنامج على إستقبال اي طلب اخر قبل ما يخلص الي بأيده حاليا. و احنا عارفين مثلا في جافا الدالة الي تعمل إرسال المعلومات عن طريق ال OutputStream تعمل Block اي توقف تنفيذ البرنامج على بين ما تخلص من إرسال المعلومات و من ثم تكملة تنفيذ البرنامج و بالتالي هو بجي الفائدة من إستخدام ال thread لانك تفصل كل شي غير مرتبط بالثاني عشان تخلي برنامجك يكون 100%

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#5

يعني اللي أفهمه من كلامك إنه كلامي نوعا ما صحيح؟ :)

#6

أتمنى الرد في أسرع وقت

هل كلامي صحيح نوعا ما؟

#7

i am waiting ...

هذا الموضوع مغلق.

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