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

ما هو، وما الفرق ؟

مغلق
بدأه fafe0 في 14 يناير 2006 · 12 رد · 941 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لم أستطع أن أفهم ما هي فكرة الـ Thread والـProcess

أنا كنت اعلم أن اي برنامج يشتغل في وندوز يكون له بروسيس خاصة، لكن ما هي حقيقة الـ process

وما هو الـ thread، وما العلاقة بينهم ؟

جزاكم الله خيراً

على فكرة: بعد البحث وجدت مواضيع على الـ process و الـ thread

لكنها كلها بالانجليزية، ومعقدة بعض الشيء، وانا ما عندي أي فكرة على الموضوع.

السلام عليكم.

#2

سؤالك لا ينبغي أن يكون في منتدى الدلفي ..منتدى نظم التشغيل هو المكان الصحيح

لا بد أن تكون عندك خلفية في نظام التشغيل .. لا أعلم إن كنتم درستم شئ عن Operating System ام لا...

بامكانك البحث عن كتب في ذلك المجال لتصبح الأشياء أكثر وضوحاً لك ...

بالنسبة للويندوز أنصحك بقراءة كتاب Inside Windows 2000 ...

اقتباس
على فكرة: بعد البحث وجدت مواضيع على الـ process و الـ thread

لكنها كلها بالانجليزية، ومعقدة بعض الشيء، وانا ما عندي أي فكرة على الموضوع.

أغلب المعلومات موثقة بالانجليزية .. من النادر أن تجد كتب عربية (على الأقل شخصياً لا أعلم عن كتب عربية متخصصة) ..

عليك ببذل جهد أكبر في قراءة ما حصلت عليه وإن كان بالإنجليزية .. أو انتظر أحد الشباب الذين لديهم وقت لكتابة موضوع بهذا الخصوص .

"First they ignore you, then they laugh at you, then they attack you, then you win"

===

اقتباس

حُكَّامُـنَا إِنْ تَصَـدّوا لِلْحِمَــى اقْتَحَمُـوا ***** وَإِنْ تَصَدَّى لَـهُ المُسْتَعْمِـرُ انْسَحَبُـوا

هُمْ يَفْرشـُونَ لِجَيْـشِ الغَــزْوِ أَعْيُنَـهُـمْ ***** وَيَدَّعُــونَ وُثُـوبَـاً قَـبْـلَ أَنْ يَثِـبُــوا

الحَاكِمُـونَ و«وَاشُنْـطُـنْ» حُكُومَتُـهُـمْ ***** وَاللامِعُــونَ وَمَـا شَعَّـوا وَلا غَرَبُــوا

القَاتِلُـــونَ نُبُــوغَ الشَّـعْــبِ تَرْضِـيَـــةً ***** لِلْمُعْتَدِيــنَ وَمَـا أَجْـدَتْـهُـمُ الـقُــرَبُ

لَهُمْ شُمُـوخُ «المُثَنَّـى» ظَاهِـرَاً وَلَهُـمْ ***** هَـوَىً إِلَـى بَابَـك الخَرْمِـيّ يُنْتَسَـبُ

البردوني "أبو تمام وعروبة اليوم" 1971

===

اقتباس
عبيد الهوى يحكمون البـلاد ***** ويحكمهــم كلّهـــم درهــــــم

و تقتـادهـم شهـوة لا تنــام ***** وهـــم فـي جـهالتهــم نــــوّم

ففــي كـــلّ ناحيــة ظـالـــم ***** غبــــــيّ يسـلـّطــــه أظلـــم

أيا من شبعتم على جوعــنا ***** وجـــوع بنينـا ألـم تتخمـــوا ؟

ألم تفهموا غضبة الكادحين ***** على الظلـم ؟ لا بدّ أن تفهموا

البردوني "نحن و الحاكمون "

#3
اقتباس
بالنسبة للويندوز أنصحك بقراءة كتاب Inside Windows 2000 ...

جزاك الله خيراً أخي cipher

سأبحث عن الكتاب المذكور إن شاء الله، وشكراً على النصيحة القيمة.

اقتباس
سؤالك لا ينبغي أن يكون في منتدى الدلفي ..منتدى نظم التشغيل هو المكان الصحيح

لا بد أن تكون عندك خلفية في نظام التشغيل .. لا أعلم إن كنتم درستم شئ عن Operating System ام لا...

بامكانك البحث عن كتب في ذلك المجال لتصبح الأشياء أكثر وضوحاً لك

حقيقةً أخي أنا لم أدرس أي كتاب أو حتى مقالة حول نظم التشغيل من قبل، ولكني سأقرأ بإذن الله، لأنه يبدو أنه موضوع مهم جداً وضروري للغاية في تعلم البرمجة،

على العموم كان قصدي من السؤال هو فقط إعطاء فكرة عامة حول الموضوع، لأني لا أستطيع أن أتخيل - حتى الخيال - ما هي فكرة الـ Process والـ thread ، وعلى فكرة سبب طرحي لهذا السؤال: أن هذه المفاهيم تواجهني كثيراً في الـ help الخاصة بدلفي.

وجزاك الله خيراً على الرد، والنصائح الثمينة.

ملاحظة: أخي أنا حالياً أبحث عن الكتاب المذكور في google ، بس إذا كان عندك رابط للكتاب، أرجو أن تضعه هنا، لأني حتى الآن لم أجد أي نتيجة : ( . ومشكور مقدماً

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

#4

http://www.microsoft.com/MSPress/books/4354.asp

للتحميل: http://www.anwarica.com/books/search.php?s...de+Windows+2000

تم تعديل هذه المشاركة بواسطة Xacker في 15 يناير 2006 في 10:45

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#5

السلام عليكم

العملية "Process" هي كائن فيه معلومات عن برنامج يعمل داخل نظام ويندوز .

كل عملية "Process" تملك مسار "Thread" واحد على الأقل .

فائدة العمليات هو تعدد المهام . أي تشغيل مجموعة من البرنامج في النظام ويندوز .

فائدة المسارات هو تعدد المسالك داخل البرنامج الواحد . فلو وجد إجراء في البرنامج يستهلك وقتاً طويلاً من المعالجة يمكنك أن تفرده في مسار كي لا يؤثر على بقية البرنامج ، وإلا سيتجمد البرنامج فترة معالجته للإجراء الطويل .

هذه فكرة مبسطة للعمليات و المسارات . وإلا فالموضوع متشعب جداً .

والله أعلم

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#6

السلام عليكم

بارك الله فيكم شباب الموضوع مهم خاصة للماعندو فكرة عن الموضوع

ارجو من احد الشباب ان يعطنا فكرة اكبر قليلا عن الموضوع

----------------------------------------------------------------------

010.gif

#7

السلام عليكم

انصحك بالأطلاع على هذا الكتاب :

---------------------------------------------------------------------------------

- إسم الكتاب : Delphi_Threads

- الوصف : كتاب لشرح التعامل مع المجاري المتعددة (Multi_Threading) من خلال دلفي , الحجم 320 KB

- الحجم : 470 Kb

- اللغة : English

- رابط التحميل : http://www.delphidevelopers.com/learnbooks...phi_Threads.chm

- ملاحظات :

تمت إضافتة من قبل العضو : ORWA

--------------------------------------------------------------------------------

والكتاب موجود منذ فترة في الموضوع المثبت الخاص بالكتب .

#8

إذا كنت تعرف القليل عن بنية الملف التنفيذي بالأسمبلي مثلا أو بلغة الآلة , لوجدت أنه توجد ثلالث مقاطع مقطع الكود Code segment ومقطع data segment ومقطع stack segment أو المكدس .

لنسخ عملية جديدة نقوم بتهيئة هذه الثلاث مقاطع وكأننا ملف تنفيذي جديد حمل للذاكرة

أما لنسخ thread جديد فلا داعي لتحميل سوى جزء stack segment جديد ويتشارك في بقية الأجزاء كجزء الشفرة وجزء البيانات مع الThread الذي نسخ عنه ..

وبالتالي الthread مناسب لتكرار نفس العمل أكثر من مرة مع اكثر من طرف بدلا من إضافة اعمال جديدة ,

مثال مخدم Appachi للويب , يقوم بتخديم عدد كبير من الزبائن الذين يطلبون موقع ويب معين , يلزمنا في هكذا حالة ان نعيد تنفيذ نفس الخطوات تماما مع كل مستخدم وبالتالي لاداعي لإنشاء Process جديد بل نستخدم thread جديد لكل زبون بحيث كل ما طلب مستخدم جديد الموقع يتم فتح thread جديد له ينفذ نفس المهمة وهذا مرن وسريع جدا ولا يستهلك موارد ..

هذه مثلا إحدى الحالات .. ما عدا ذلك يستخدم في عدة حالات اخرى مثلا قد يستخدم برمجيا للفصل عن الملف التنفيذي عن توقع حدوث جمود في التطبيق نتيجة طلب مهمة ما , فإذا قام أحد الأوامر الموجوده في التطبيق بطلب القراءة من منفذ وانتقل التنفيذ إلى ذلك المنفذ واستغرق بعض الوقت الزائد فإن التطبيق سيكون في حالة تجمد أثناء ذلك ريثما يتم عودة الإجراء , لحل ذلك يمكننا إنشاء thread جديد وفصل إجراء طلب المنفذ بهذا الthread وبالتالي لن يتجمد التطبيق حتى لو تأخرت استجابة المنفذ لإن التنفيذ يتم في مجرى آخر مستقل عن التطبيق ..

يعني هذه بعض المعلومات الإضافية عن ما ذكرة الأخوة

#9

شكراً لكم جميعاً، وبارك الله فيكم

بالنسبة للأخ source code رابط الكتاب الذي وضعته لا يعمل !!

جزاكم الله خيراً جميعاً

#10

بارك الله فيكم حميعا

لقد فهمت هذا الكلام ولكن ما لم افهمه هو كيفية التعامل مع thread و proccess برمجيا اى اثناء بناء التطبيقات كيف يمكن ان استغل هذه النظرية (ان صح التعبير) او كيف استفيد منها واسف جدا على الازعاج

----------------------------------------------------------------------

010.gif

#11

بالفعل الرابط لا يعمل ... لكن الحمد للة الكتاب موجود عندي ... :)

مرفق الكتاب + ديموو

Delphi_Threads.zip

Demo_Thread.zip

#12

جزاك الله خيراً أخي source code

تم تحميل الملفات بنجاح !

السلام عليكم. : ]

#13

السلام عليكم

وجدت هذا الرابط المفيد جداً،، وهذا الرابط موجود في المنتدى منذ فترة.

لكن المشكلة دائماً هي الكسل عن القيام بعملية البحث : ) !!!

اضغط هنا،،، والشكر موصول للأخ waeldalol

راجع آخر مشاركة، فيها رابط لكتاب يشرح أساسيات الثريد مع مثال .

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

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

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