دورات هندسية

 

 

إعرف ماهو الـ Multithreading مفيد جدا

النتائج 1 إلى 7 من 7
  1. [1]
    الصورة الرمزية الزوملي
    الزوملي
    الزوملي غير متواجد حالياً

    عضو فعال

    تاريخ التسجيل: Sep 2008
    المشاركات: 62
    Thumbs Up
    Received: 0
    Given: 0

    إعرف ماهو الـ Multithreading مفيد جدا

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

    multithreeading
    التطبيقات التي تدعم هذه التقنيه تخبر المعالج ان ينفذ كل عمليه (process) في thread منفصل .
    ظهرت هذه التقنيه مع المعالجات الحديثه والتي تدعم تقنيه الـ multitasking لنظام التشغيل وخاصه المعالجات التي لديها نواتين (core) او اكثر
    ماهي الـ process هنا: المقصود بالـ process اي برنامج تنفيذي ...على سبيل المثال windows Explorer .
    كل process تمتلك thread واحد او اكثر .
    .process have a resource(like store memory ,CPU time)i
    Threadما هو:يمثل object داخل الـ process والتي تشغل (run) تعليمات البرنامج وكما سبق دل ذلك
    على ان الـ process لديها اكثر من (thread)
    يتشارك الـ thread مع الـ process بالمساحه العنونه address space و بعض المعلومات الاخرى

    بإختصار فإن الـ thread يستخدم عندما يكون لدينا العديد من الدوال functions تعممل بنفس الوقت (بشكل متوازي) مثلا
    في البرمجه عندما يكون لدينا class فيه العديد من الدوال والتي نريد ان تنفذ بنفس الوقت ...ولذلك نضع كل داله في thread منفصل.
    Thread Management
    يدار بواسطه operating system لتعرف ذلك اذهب الى ادارة المهام (Task Manager) على جهازك ثم الى قائمة process لتلاحظ عدد العمليات
    التي تعمل على جهازك او انظر الى اسفل نافذة ادارة المهام لتلاحظ التالي تختلف القيم
    Processes:32 CPU Usage:7% commit charge:562M/3809M
    ثانيا: يدار بواسطة المستخدمين والمطورين حيث يمكنهم من عمل إلغاء او مقاطعه او توقيف ... وغيرها للـ thread


  2. [2]
    م/ شريف المصرى
    م/ شريف المصرى غير متواجد حالياً
    عضو شرف
    الصورة الرمزية م/ شريف المصرى


    تاريخ التسجيل: Sep 2009
    المشاركات: 492

    وسام الشكر

     وسام كبار الشخصيات

    Thumbs Up
    Received: 46
    Given: 0
    جزااااااااااااااااااك الله كل خير
    معلومات قيمة ومفيدة
    تقبل تحياتى

    0 Not allowed!



  3. [3]
    الزوملي
    الزوملي غير متواجد حالياً
    عضو فعال
    الصورة الرمزية الزوملي


    تاريخ التسجيل: Sep 2008
    المشاركات: 62
    Thumbs Up
    Received: 0
    Given: 0

    Post multithreading مع الصور

    السلام عليكم ورحمة الله وبركاته ..........شكرا لمرورك م/شريف المصري

    طيب خلونا نناقش الموضوع بتفاصيل أكثر
    برنامج = process كما سبق...
    يوجد صور مرفقة.
    ==============================
    عزز مفهوم الـ Multithreading مفهوم الــ Multitasking في أنظمة التشغيل
    بحيث ان اي برنامج يمكنه ان يعمل على Thread منفصل عن الاخر بالاضافه الى امكانيه ان يعمل
    نفس البرنامج على اكثر من Thread .أتى هذا المفهوم بعد تطوير فكره الــ Multitasking
    في انظمة التشغيل .ويتم اداره هذه العمليات من قبل نظام التشغيل الذي يقوم بتقسيم المهام على المعالج
    وفق الاولويات لكل Thread وعلى فترات زمنيه ويمكن مشاهدة هذه العمليات في نظام التشغيل من خلال
    الـ Task Manager كما هو موضح في الصور الملحقه في الاسفل............
    -----------------لاحظ الصوره اولا
    لا حظ ان كل برنامج مقدار معين من المعالج بناء على حاجته ويقوم نظام التشغيل بتقسيم المهام
    على المعالج وفق الحاجه والاولويات لاحظ الصوره (دائره مقسمه)التي تمثل النسب المؤيه لكل برنامج او process
    وبتاكيد يمكن التحكم بأي Thread في نظام التشغيل اذ يمكننا من عمل interrupt له او ايقاف مؤقت او الغاءه
    كل هذه العمليات متاحة للمستخدم للقيام بها ومتاح ايضا استحدامها برمجيا.

    0 Not allowed!


    الصور المرفقة
    لا إله إلا الله ...محمد رسول الله

  4. [4]
    وائل عبده
    وائل عبده غير متواجد حالياً
    عضو متميز


    تاريخ التسجيل: Oct 2006
    المشاركات: 502
    Thumbs Up
    Received: 1
    Given: 0
    شكرا

    0 Not allowed!



  5. [5]
    م/ شريف المصرى
    م/ شريف المصرى غير متواجد حالياً
    عضو شرف
    الصورة الرمزية م/ شريف المصرى


    تاريخ التسجيل: Sep 2009
    المشاركات: 492

    وسام الشكر

     وسام كبار الشخصيات

    Thumbs Up
    Received: 46
    Given: 0
    اتمنالك التوفيق من الله
    والاجتهاد فى العلم
    وننتظر منك كل جديد وممتع
    تقبل مرورى وتحياتى

    0 Not allowed!



  6. [6]
    AhmedElasmrElmashd
    AhmedElasmrElmashd غير متواجد حالياً
    عضو


    تاريخ التسجيل: Jun 2009
    المشاركات: 29
    Thumbs Up
    Received: 0
    Given: 0
    Here is virtually the simplest threading example which actually shows something happening:

    كود:
    using System;
    using System.Threading;
    
    public class Test
    {
        static void Main()
        {
            ThreadStart job = new ThreadStart(ThreadJob);
            Thread thread = new Thread(job);
            thread.Start();
            
            for (int i=0; i < 5; i++)
            {
                Console.WriteLine ("Main thread: {0}", i);
                Thread.Sleep(1000);
            }
        }
        
        static void ThreadJob()
        {
            for (int i=0; i < 10; i++)
            {
                Console.WriteLine ("Other thread: {0}", i);
                Thread.Sleep(500);
            }
        }
    }
    the result:
    Main thread: 0
    Other thread: 0
    Other thread: 1
    Main thread: 1
    Other thread: 2
    Other thread: 3
    Main thread: 2
    Other thread: 4
    Other thread: 5
    Main thread: 3
    Other thread: 6
    Other thread: 7
    Main thread: 4
    Other thread: 8
    Other thread: 9

    0 Not allowed!



  7. [7]
    a-tibi
    a-tibi غير متواجد حالياً
    عضو
    الصورة الرمزية a-tibi


    تاريخ التسجيل: Dec 2009
    المشاركات: 12
    Thumbs Up
    Received: 0
    Given: 0
    شكراً على الموضوع المفيد,

    ولدي سؤال لو تفضلتم, لم افهم جيدا عملية sleep(), لماذا يجب علينا استخدامها الايتعين على المعالج توزيع الزمن على الthreads بشكل تلقائي,
    وعند استدعاء Start() للthread الا يؤدي ذلك لتشغيل ال thread ام علينا استدعاء sleep() لكي يتم تنفيذ عملية الthread؟

    0 Not allowed!


    تعلم فليس المرء يولد عالمــاً وليس أخو علم كمن هو جاهل

  
الكلمات الدلالية لهذا الموضوع

عرض سحابة الكلمة الدلالية

RSS RSS 2.0 XML MAP HTML