/
  • چند تفاوت Thread و Process

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 5
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی چند تفاوت Thread و Process
    نویسنده پیام
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,806
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 89
    تشکرها : 2086
    ( 4560 تشکر در 2086 ارسال )
    ارسال: #1
    چند تفاوت Thread و Process
    مسئله Thread و Process دو موضوع نزدیک به هم ولی متفاوت هستن...

    1- Process مستقل هستش، ولی Thread ها بخشی از یک Process هستن. (یعنی یک Process میتونه چندین Thread بوجود بیاره)
    2- هر Process حافظه اختصاصی خودش رو داره، ولی Thread ها از حافظه اشغال شده Process استفاده می کنن. (یعنی Process حافظه خودش رو با Thread به اشتراک میذاره)
    3- هر Process شامل یک برنامه و PID انحصاری هستش، ولی هر Thread شامل مجموعه ای از دستورالعمل ها و Stack انحصاری هستش.
    4- هر Process یک Task هستش، ولی هر Thread یک Light wight process هستش.
    5- Process ها توسط IPC (یا همون Inter-process communication) با یکدیگر ارتباط برقرار می کنن، ولی Thread ها توسط دستورات برنامه نویسی (در PHP و جاوا توسط wait, notify در C توسط pthread_cond_wait, pthread_cond_signal) با یکدیگر ارتباط برقرار می کنن.
    6- ساخت Process به سختی توسط duplicate کردن والد انجام میشه، ولی ساخت Thread براحتی توسط کپی شی Thread انجام میشه.
    7- برای اجرای چند Process بطور همزمان/parallel به یک سیستم Multi-Process نیاز هست، ولی برای اجرای چند Thread بطور همزمان به دستورات برنامه نویسی نیاز هست.
    8- بطور کلی Process توسط CPU کنترل میشه، ولی Thread توسط Process کنترل میشه.
    9- هر Process یک Thread main داره، ولی هر Thread فقط خودشه که کارگر/worker صدا زده میشه.
    10- Process در فضای separate memory اجرا میشه، ولی Thread در فضای Shared memory اجرا میشه.
    و...

    [تصویر:  swp8_14.gif]
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    کسی که دین را با شخصیت ها بشناسد، همان شخصیت ها او را از دین خارج می سازند. امام صادق (ع)
    (آخرین ویرایش در این ارسال: ۱۳۹۵ شهريور ۱۸ ۰۱:۰۸ صبح، توسط Y.P.Y.)
    ۱۳۹۵ شهريور ۱۵ ۰۷:۰۳ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : undefined Reza sara147 Maysam.m Null hamid_80386
    Y.P.Y آفلاین
    ناظم کل
    *******

    ارسال‌ها: 2,806
    تاریخ عضویت: ۱۳۸۷ دي ۲۸
    اعتبار: 89
    تشکرها : 2086
    ( 4560 تشکر در 2086 ارسال )
    ارسال: #2
    RE: چند تفاوت Thread و Process
    در یکی از گروه های برنامه نویسی صحبتهایی راجب Thread, Process و Parallel شد و راجب برداشت های صحیح و اشتباه بحث شد.
    میذارم اینجا شاید مفید واقع بشه:

    نقل قول: برنامه نویسی موازی در سی شارپ کی بلده؟
    نقل قول: نخ یا موازی؟
    Threading?
    نقل قول: بله همون parallel programing

    برنامه نویسی موازی در واقع سوپر set ای از multi_threading هستش... کما اینکه برنامه های Multi_process نوعی دیگر از برنامه نویسی موازی هستن.

    نقل قول: بله ولی تفاوت های زیادی داره thread با parallel ولی بدون thead برنامه نویسی موازی تقریبا بی معنی هستش
    خیر..
    اول اینکه Threading یک فناوری هستش، ولی Parallelism یک الگو/روش. لذا بدون استفاده از فناوری Threading هم میشه برنامه های موازی طراحی کرد:
    دوم اینکه برنامه های بسیاری تولید شده و کماکان میشه تولید کرد درحالی که single Thread باشه ولی Multi_process باشه. پس 100% موازی هستش.

    نقل قول: بله درسته با یدونه thread میشه نوشت ولی. تقریبا منسوخ شدس برای بالا بردن سرعت و انعطاف پذیری برنامه دیگه هیشکی از single thread استفاده نمی کنه
    Multi process یه واژه کلی هستش برای. تعریف برنامه موازی. که thread میشه گفت زیر مجموعه همون. Multi process
    منسوخ؟ خب شما الان به من بگید که چطور در kernel-mode می خواید Multi-threading رو پیاده کنید؟ با چه زبانی یا راهی؟ با مثال

    نقل قول: درسته Kernel mode multi proccesor میشه نوشت multi thread نمیشه
    نقل قول: مولتی تردینگ زیر مجموعه ی کوچکی از parallel هست و شما درست میگید
    Mission completed Tongue
    __________________________________________________________________________
    وبلاگ: Yousha.Blog.ir

    کسی که دین را با شخصیت ها بشناسد، همان شخصیت ها او را از دین خارج می سازند. امام صادق (ع)
    ۱۳۹۵ اسفند ۱۳ ۰۷:۲۲ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ayoubsys
    Null آفلاین
    عضو
    ***

    ارسال‌ها: 50
    تاریخ عضویت: ۱۳۸۹ فروردين ۱۹
    اعتبار: 2
    تشکرها : 132
    ( 21 تشکر در 14 ارسال )
    ارسال: #3
    RE: چند تفاوت Thread و Process
    نقل قول: Mission completed Tongue
    Big Grin
    ۱۳۹۵ اسفند ۱۴ ۰۳:۱۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS