مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

ahmadiarsto

عضویت از 1397/04/21

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

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

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 27 آبان 1397
  • 09:17

سلام 

خب تعداد زیاد استفاده کردید این طبیعیه 

بعد توی پروژه های دسکتاپ نیازی به thread نیست 

از thread در پروژه های n user یا عملیاتی که زیاد طول میکشه استفاده میکنم 

در کل معماری شما مشکل داره اون thread هایی که ضروری نیست حذف کنید 

کاربر سایت

ahmadiarsto

عضویت از 1397/04/21

  • یکشنبه 27 آبان 1397
  • 11:02

ممنون از پاسختون دوست خوبم ، ولی من تمامی دستوراتم داخل حلقه while انجام میشه چون باید محتوا یک سری از فایل ها چک شود واسه همین از while استفاده کرده ام ممنون میشم راهنمایی کنید که اگر راه حل بهتری دارید من از راه حل شما استفاده کنم

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 27 آبان 1397
  • 12:27
کاربر سایت

ahmadiarsto

عضویت از 1397/04/21

  • یکشنبه 27 آبان 1397
  • 15:16

دوست خوبم آموزش رو دنبال کردم ولی این آموزش مربوط به پردازش غیرموازیه من تمامی پردازش هام موازیه و تو برنامه م برای اینکار از Thread استفاده کرده ام تمامی Thread هایی که تو برنامه م تعریف کرده ام کار می کنند منتها مصرف سی پی یو به 100 می رسد و این مشکل باعث میشه که برنامه من بسته بشه حالا من میخام سی پی یو رو مدیریت کنم برای انجام این کار چه باید کرد ؟ ممنون میشم راهنمایی کنید

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 27 آبان 1397
  • 17:19

دوست من باید کدهاتون ReFactor بشه اینطور به نتیجه نمیشه رسید 

از یه نفر که حرفه ای هست بخواهید کدهاتون رو بررسی کنه تا مشکل رو پیدا کنه 

کاربر سایت

salman_b

عضویت از 1396/02/18

  • یکشنبه 27 آبان 1397
  • 19:51

اینکه cpu به ۱۰۰ میرسه و باعث میشه برنامه شما بسته بشه هیچ ارتباطی به cpu نداره

برنامه شما مشکل داره

وگرنه cpu به راحتی سالها میتونه بی وقفه ۱۰۰ درصد کار کنه و هیچ مشکلی هم برای برنامه های درحال اجرا پیش نیاد.

مدیریت منابع از جمله cpu وظیفه ی سیستم عامل هستش و ارتباطی به برنامه ها و سرویس ها نداره.

اگه مطمئن هستید که برنامه شما مشکل زیرساخت نداره روی یک کامپیوتر دیگه امتحان کنید شاید ویندوز شما مشکل داشته باشه.

و نکته ی دیگه

آموزشی که آقای مدائنی گذاشتن مربوط به برنامه نویسی غیرهمزمان هستش و همین thread های شما در پشت صحنه و در اجرا ساخته خواهند شد.

از نظر بنده شما مشکل تداخل منابع دارید.

بهتره اونجاهایی رو که فکر میکنید ممکنه این مشکل رخ بده رو با دستور lock در سی شارپ از حالت غیرهمزمان دربیارید.

کاربر سایت

ahmadiarsto

عضویت از 1397/04/21

  • یکشنبه 27 آبان 1397
  • 20:28
اساتید گرامی من رو virtual box امتحان میکنم برنامه خودم بسته نمیشه بلکه یک نرم افزار دیگه هستش اونو باز میکنم بسته میشه ، وگرنه برنامه خودم اجرا میشه البته این مواردی که هم اینجا و هم در بالا عرض کردم فقط رو virtual box برنامه جانبی بسته میشه نه برنامه ای که ترد توش تعریف شده آیا این مشکل رو virtual box طبیعی است ؟
کاربر سایت

salman_b

عضویت از 1396/02/18

  • یکشنبه 27 آبان 1397
  • 21:33

خب بگو دیگه دوست من!

اگه برنامه در حالت عادی به خوبی اجرا میشه پس مشکل باید از virtual box باشه.

من شخصا با virtual box کار نکردم و نمیتونم نظر بدم.

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)