نمایش نتایج 1 تا 6 از 6

نام تاپیک: thread pool

  1. #1
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448

    Cool thread pool

    thread pool مزیت هاش و معیبش ؟؟؟

    برای چه کاری مناسب و برای چه کاری نامناسبه


    مرسی

  2. #2
    چون جای این بحث در سایت خالیه، به نظرم کمی توضیحات اجمالی رو می طلبه.

    به جای اینکه هر بار مجبور باشی که یک Thread جدید ایجاد و پس از پایان کار، اون رو حذف کنی، در NET. مفهومی با نام Thread Pool یا همون "مخزن Thread" قرار داده شده که هرگاه نیاز به یک Thread جدید داشتی، این Thread از Thread Pool استخراج بشه.
    البته واضح هست که Thread به هر حال در اولین مرتبه باید ایجاد بشه.
    هر زمان Thread ای به طور کامل وظیفش رو انجام داد، به جای اینکه Thread حذف بشه، در Thread Pool قرار میگیره تا در مرتبه های بعد بشه از اون استفاده کرد.
    برای پیاده سازی این تکنیک از کلاس System.Threading.ThreadPool استفاده میشه.
    به طور پیش فرض، 25 Thread میتونن در Thread Pool قرار بگیرن.

    استفاده از این تکنیک موجب میشه که هزینه ی سرباری که در اثر ایجاد و حذف Thread ها به برنامه تحمیل میشه به حداقل میزان خودش برسه.
    همچنین Thread Pool تمامی اعمال ایجاد، حذف، مدیریت و زمان بندی Thread ها رو به طور خودکار انجام میده و نیازی به درگیر شدن برنامه نویس با جزئیات این اعمال نیست!
    و در نهایت اینکه کدنویسی کمتری نیاز هست و چون این کلاس و متدهای اون تست شدن و باگی ندارند، خیال برنامه نویس هم از جانب خطاهای احتمالی راحت هست.

    در کنار مزایایی که اشاره کردم، معایبی نیز وجود داره. از جمله اینکه برنامه نویس کنترلی کامل بر وضعیت و اولویت بندی Thread ها نداره و همچنین نمی تونه Thread ها را مشخصه گذاری کنه تا بتونه فعالیت اونها را زیر نظر داشته باشه.
    یکی از معایب دیگه این هست که تو نمی تونی تشخیص بدی که یک Task نسبت داده شده به یک Thread در Thread Pool، چه زمان ممکنه انجام بشه! چون ممکنه تمامی Thread های موجود در Thread Pool مشغول و در حال انجام وظایف دیگری باشن!
    همچنین تا اونجا که بنده اطلاع دارم، این امکان وجود داره که کدهای برنامه های دیگه بتونن در عملکرد برنامه تاثیر بگذارن!

    در نهایت با توجه به مزایا و معایبی که بر شمردم، اگر پی بردی که Thread Pool خوب نیست، می تونی به طور دستی Thread ها رو ایجاد و مدیریت کنی که البته کار پیچیده میشه.

    موفق باشید.

  3. #3
    سلام
    میشه یه مثال راجع به ایجاد و نحواه کار با thread ها اینجا بزارید ..
    یا یه منبع برای کار با thread ها معرفی کنید
    ممنون!!

  4. #4
    کاربر دائمی آواتار ARA
    تاریخ عضویت
    آبان 1383
    محل زندگی
    Bad Sector
    پست
    448
    معمولا کتابهای برنامه نویسی شبکه یک فصل در مورد thread دارند برای اینکه خیلی از برنامه های کلاینت سروری بصورت multithreading نوشته میشه

    به اینجا واسه کتاب سر بزن
    http://www.ebooksportal.org

  5. #5
    کاربر دائمی آواتار saeedgharedaghi
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    202

    نقل قول: thread pool

    سلام و خسته نباشید خدمت استاد عزیزم Behrouz_Rad
    یه سوال داشتم
    اینکه ایا در theradpool میتوان به تک تک thread ها دسترسی داشت و مثلا اونها رو Stop کرد یا نه آیا راه حلی وجود دارد برای اینکار یا اینکه از اول تا اخر تعداد thread ها ثابت هست؟
    ممنون میشم به این سوالم پاسخ بدین :-)

  6. #6
    کاربر دائمی آواتار saeedgharedaghi
    تاریخ عضویت
    آذر 1387
    محل زندگی
    تهران
    سن
    34
    پست
    202

    نقل قول: thread pool

    از دوستان کسی تا حالا با Thread Pool کار نکرده یعنی ؟؟؟ چرا نمیشه به تک تک Thread ها دسترسی داشت؟؟؟

تاپیک های مشابه

  1. اجرای تابع با پارامتر به صورت یک Thread.
    نوشته شده توسط hdv212 در بخش C#‎‎
    پاسخ: 16
    آخرین پست: یک شنبه 17 خرداد 1394, 00:11 صبح
  2. پیاده سازی تایمر با استفاده از Thread
    نوشته شده توسط Ghasem Dehghani در بخش C#‎‎
    پاسخ: 18
    آخرین پست: شنبه 15 اردیبهشت 1386, 17:40 عصر
  3. ایجاد thread
    نوشته شده توسط mahtab_18 در بخش C#‎‎
    پاسخ: 1
    آخرین پست: سه شنبه 11 اردیبهشت 1386, 09:59 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •