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

نام تاپیک: بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

  1. #1

    بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

    سلام به همه اساتید گرامی دوستان من تو پروژه ای که با زبان سی شارپ نوشتم از thread های زیادی استفاده کرده ام که این thread ها دستوراتی هستند که داخل حلقه while تکرار می شوند از آنجایی که میزان مصرف سی پی یو به ۱۰۰ درصد می رسد لذا برنامه بسته می شود ، برای حل این مشکل ممنون میشم راه حل مناسبی پیشنهااد بدید یا اگر تکنولوژی جدیدی برای اینکار تعریف شده ممنون میشم معرفی نمایید

  2. #2
    کاربر دائمی آواتار hi level hdd
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    حکیمیه
    پست
    165

    نقل قول: بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

    سلام. اگر حلقه while کار سنگینی انجام نمیدهد. از دستور sleep استفاده نمایید. به شدت مصرف سی پی یو رو پایین میاره

  3. #3

    نقل قول: بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

    نقل قول نوشته شده توسط arastoahmadi مشاهده تاپیک
    سلام به همه اساتید گرامی دوستان من تو پروژه ای که با زبان سی شارپ نوشتم از thread های زیادی استفاده کرده ام که این thread ها دستوراتی هستند که داخل حلقه while تکرار می شوند از آنجایی که میزان مصرف سی پی یو به ۱۰۰ درصد می رسد لذا برنامه بسته می شود ، برای حل این مشکل ممنون میشم راه حل مناسبی پیشنهااد بدید یا اگر تکنولوژی جدیدی برای اینکار تعریف شده ممنون میشم معرفی نمایید
    اگر تمامی نخ ها باید باهم کار کنند که اصلا خوب نیست که برای هر فرآیند یک نخ ایجاد کردید!
    بهتره که از حوضچه های نخ و تکنیکهای همزمانی استفاده کنید تا خود همون حوضچه های نخ کار کنترل Timing های پردازشگر را در جهت رعایت حق تقدم اجرای نخ ها به عهده بگیرند و اینطوری دیگه تمام هسته های پردازشگر فقط در گیر نخ ها پروسس ها شما نخواهند بود. البته در زمان استفاده از نخ ها به راحتی می تونید با حداکثر توان هسته های پردازشگر ویا به صورت عادلانه توان هسته ها را برای برنامه تون در اختیار بگیرید.
    برای اجرای پروسس های طولانی و در حلقه های تکرار استفاده از Thread به تنهایی کار عاقلانه ای نیست و بازدهی را هم به شدت تحت تاثیر قرار میده.
    البته می تونید از کتابخانه های قدرتمندی مانند TPL & PLINK استفاده کنید که اونوقت خواهید دید که به چه سرعت وکیفیتی می تونید همزمانی را نخ ها اجرا کنید حتی نگران مسایل بسیار پیچیده Race Condition و ... در هنگام همزمانی در نخ ها هم نباشید.

  4. #4

    نقل قول: بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

    نقل قول نوشته شده توسط hi level hdd مشاهده تاپیک
    سلام. اگر حلقه while کار سنگینی انجام نمیدهد. از دستور sleep استفاده نمایید. به شدت مصرف سی پی یو رو پایین میاره
    دوست عزیز یعنی چی ! بین دستوراتی که دارند اجرا میشن تو حلقه به نخ بگه که مثلا چند میلی صبر کنه که مثلا مصرف سی پی یو پایین بیاد! یعنی منظورتون این هست که با این کار باعث میشه که عمل Timing , marshaling , ... در پردازشگر به پردازه های دیگه انتقال پیدا میکنه! مگه داریم شاید هم من به این تکنیک آشنایی ندارم در صورت امکان یکم توضیح راجع به این روش نوشتن sleep تو نخ ها می فرمایید!
    البته تا اونجایی که میدونم کلا کار دستور sleep چیز دیگه ای هست در ناحیه های اشتراکی و قفل گذاری می تونه کاربرد داشته باشه که اونهم در حال حاضر خیلی وقته که منسوخ شده اونهم به علت وجود کتابخانه های قدرتمندی مثل TPL و ...

  5. #5

    نقل قول: بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

    ممنون از پاسختون ، دوستان یه مثال از کار با tpl و plink برام می زارید ممنون میشم راهنمایی کنید

  6. #6

    نقل قول: بالارفتن میزان مصرف سی پی یو به علت استفاده از thread در سی شارپ

    نقل قول نوشته شده توسط arastoahmadi مشاهده تاپیک
    ممنون از پاسختون ، دوستان یه مثال از کار با tpl و plink برام می زارید ممنون میشم راهنمایی کنید
    مثال که تو نت زیاده دوست عزیز!
    ولی برای استفاده از تکنیکهای پیشرفته ای مثل همزمانی و ... باید خودتون با مطالعه و مشاهده نمونه سورسها الگوریتم کار فرآیندهای برنامه تون را استخراج کنید خیلی ساده اگر بخوام بگم یعنی نمی تونید نمونه مثالی پیدا کنید که برای کار شما نوشته شده باشه شاید شبیه چیزی که بخواهید پیدا بشه ولی باز هم تا عمق مطلب را درک نکنید نمی تونید ازش استفاده کنید.

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

  1. سوال: استفاده از تمام هسته های سی پی یو
    نوشته شده توسط arian021 در بخش C#‎‎
    پاسخ: 7
    آخرین پست: پنج شنبه 14 فروردین 1393, 23:55 عصر
  2. سوال: میزان استفاده برنامم از سی پی یو خیلی بالاس چیکارش کنم؟
    نوشته شده توسط alireza_kaka در بخش C#‎‎
    پاسخ: 5
    آخرین پست: چهارشنبه 25 دی 1392, 10:34 صبح
  3. سوال: امکان برنامه نویسی برای سی پی یو های چند هسته ای در دلفی
    نوشته شده توسط Mehdi Asgari در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 8
    آخرین پست: دوشنبه 06 مهر 1388, 22:18 عصر
  4. سوال: thread و سی پی یو های Dual core
    نوشته شده توسط HDDSoft2001 در بخش C#‎‎
    پاسخ: 6
    آخرین پست: یک شنبه 06 اردیبهشت 1388, 23:47 عصر

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

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