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

نام تاپیک: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    ایران
    پست
    95

    استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    بعضی نرم افزار ها با اینکه به نظر میرسه از تمام ظرفیت cpu استفاده می کنند ولی باز هم مانع اجرای سایر برنامه های سبک نمیشن (سیستم هنگ نمیکنه)ولی برنامه های محاسباتی سنگین معمول پس از اجرا سیستم روی اون برنامه قفل میشه و دیگه نمیشه کاری انجام داد.سوالم اینه که چطور میشه برنامه های نوع اول را نوشت؟

  2. #2
    کاربر دائمی آواتار parvizwpf
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    TEH
    پست
    2,919

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    به نوع پیاده سازی و کد نویسی و طراحی برنامه مربوط میشه معمولا.

  3. #3

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    همون طوری که خودت گفتی برنامه های نوع اول فقط به نظر میرسه دارن از تمام ظرفیت cpu استفاده می کنن ولی عملا این کارو نمی کنن .
    مثلا این سورس کد رو بگیر اجرا کن تقریبا از تمام قدرت cpu استفاده می کنه (مواظب باشه فقط cpu ت ذوب نشه :) )
    من که بعد از اجرا موس رو هم نمی تونستم تکون بدم !
    https://github.com/Mysticial/Flops
    آخرین ویرایش به وسیله omid_kma : شنبه 17 خرداد 1393 در 21:00 عصر

  4. #4

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    خب چنین کد هایی ۲ حالت داره یا از روی نادانی نوشته میشوند و ... عملیات رو یکجا میفرسه به CPU که موجب هنگ کردنش میشه یا اینکه خیر به صورت آگاهانه اینجوری مینویسند که فکر نکنم کسی بیکار باشه ...
    در کل کد هرچقدر استاندارد و هرچقدر مدیریت شده نوشته شود چنین اتفاقاتی نخواهد افتاد ... حال که در C++‎ مدیریت حافظه و پردازش به نوع کد نویسی بستگی داره این اتفاقات عادی هستش چون Managed نیست پس اگر کد نویسی حتی به مقدار ناچیزی درست نوشته نشود موجب هنگ کردن خواهد شد.

    کد نویسی Native اونم با C++‎ در صورت رعایت نکردن اصول کد نویسی میتونه خطرناک باشه این دسته از برنامه ها که معمولا موجب هنگ کردن سیستم میشوند ناشی از همین مواردی هستش که گفتم.

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    ایران
    پست
    95

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

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

  6. #6

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    نقل قول نوشته شده توسط galiwer مشاهده تاپیک
    چطور میشه یک سقف برای استفاده از cpu تعیین کرد؟منظورتون از فرستادن عملیات یکجا به cpu چیه؟
    ببینید به طور کلی شما در برنامه وقتی یک دستور ساده رو اجرا میکنید و در مرحله پردازش به CPU ارسال میشه مشکلی وجود نداره ولی وقتی عملیات پیچیده و چند وظیفه ای رو برا پردازش ارسال میکنید خب در این حالت CPU پشت دستش رو بو نکرده که بدونه کدوم رو کی و با چه اولویتی اجرا کنه در این صورت مشکلاتی به بار میاد و در اتفاقاتی به اصطلاح خون ریزی داخلی در سیستم رخ میده که در C++‎‎‎‎‎‎‎ حتما باید مدیریت چنین مواردی به دقت رعایت شود.

    روش های مختلفی برای این کار ها وجود داره مثلا استفاده از Thread به صورت مناسب میتوته خیلی کارآمد و جواب گو باشه...که در کل به این جور روش ها برنامه نویسی Multi tasking یا همان چند وظیفه ای میگویند.

    توضیحات دقیق تر :‌http://www.tutorialspoint.com/cplusp...ithreading.htm

    مثال های زیر رو دقت کنید :

    http://www.tutorialspoint.com/cplusp...ithreading.htm
    http://www.cplusplus.com/reference/thread/thread/

  7. #7

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    نقل قول نوشته شده توسط galiwer مشاهده تاپیک
    چطور میشه یک سقف برای استفاده از cpu تعیین کرد؟منظورتون از فرستادن عملیات یکجا به cpu چیه؟
    این یک روش ساده
    به ازای 100 میلی ثانیه کار 100 میلی ثانیه استراحت می کنه روی سیستم من که 50 درصد استفاده از cpu نشون میده

    #include <time.h>
    #include <windows.h>
    int main(){
    clock_t t=clock();
    while(1)
    {
    if ((clock()-t)>100)
    {
    Sleep(100);
    t=clock();
    }
    }
    }

  8. #8

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    نقل قول نوشته شده توسط rahnema1 مشاهده تاپیک
    این یک روش ساده
    به ازای 100 میلی ثانیه کار 100 میلی ثانیه استراحت می کنه روی سیستم من که 50 درصد استفاده از cpu نشون میده

    #include <time.h>
    #include <windows.h>
    int main(){
    clock_t t=clock();
    while(1)
    {
    if ((clock()-t)>100)
    {
    Sleep(100);
    t=clock();
    }
    }
    }
    این دیگه چه کدی بود؟؟؟!!!! تو مال من کامپایل شد ولی مشخص نشد نتیجه چی شد!!!حالا نه فایل exe رو میشه پاک کرد و نه دیگه اون کد دوباره کامپایل میشه!!!!نکنه ویروس بود

  9. #9

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    نقل قول نوشته شده توسط رضاس1000 مشاهده تاپیک
    این دیگه چه کدی بود؟؟؟!!!! تو مال من کامپایل شد ولی مشخص نشد نتیجه چی شد!!!حالا نه فایل exe رو میشه پاک کرد و نه دیگه اون کد دوباره کامپایل میشه!!!!نکنه ویروس بود
    برنامه برای این بود که میزان استفاده از cpu را نشون بدیم. حالا توی تسک منیجر نگاه کن ببین چند در صد cpu استفاده میشه
    برنامه را ببند تا بشه دوباره کامپایل کرد. حتما برنامه در حال اجرا هست. پسر خوب هر چیزی را که نباید اجرا کرد:)

  10. #10
    کاربر تازه وارد
    تاریخ عضویت
    دی 1388
    محل زندگی
    ایران
    پست
    95

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    این نرم افزار (Xilisoft Video Converter) یک مثال از اون چیزیه که منظورم هست.(استفاده حداکثر از cpu بدون هنگ کردن)نمونه های متن باز مشابه این مورد را سراغ دارید؟در ضمن اگر براتون مقدور هست یک بار نصبش کنید. این نرم افزار از چه کتابخانه هایی استفاده میکنه؟

  11. #11

    نقل قول: استفاده کردن از تمام ظرفیت سیستم بدون هنگ کردن

    خب برای parallel نوشتن از خیلی چیزا میشه استفاده کرد مثلا :
    TBB
    OpenMP
    thread در C++‎‎‎‎11
    SSE
    pthreads
    وووو
    برای کارت گرافیک
    CUDA
    Microsoft C++‎‎‎‎ AMP
    یک راه برای هنگ نکردن میتونه این باشه که درصد مصرف cpu مدل cpu , system رو تعیین کرد بعد بر اساس اون تعدادprocess ,thread ها رو تعیین کرد.

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

  1. درج بیش از 2 میلیون خط در لیست باکس بدون هنگ کردن
    نوشته شده توسط maxtools در بخش برنامه نویسی در 6 VB
    پاسخ: 13
    آخرین پست: چهارشنبه 31 اردیبهشت 1393, 18:31 عصر
  2. سوال: ایجاد تاخیر در برنامه بدون هنگ کردن
    نوشته شده توسط fire22 در بخش C#‎‎
    پاسخ: 9
    آخرین پست: شنبه 23 آذر 1392, 14:24 عصر
  3. سوال: آپدبیت کردن مطالب یک ردیف گریدویو بدون کلیک کردن!
    نوشته شده توسط Mcraft در بخش ASP.NET Web Forms
    پاسخ: 7
    آخرین پست: یک شنبه 12 شهریور 1391, 21:58 عصر
  4. آموزش: نگه داشتن یک خط برنامه در ویژوال بیسیک (بدون هنگ کردن)
    نوشته شده توسط abolfazl-z در بخش برنامه نویسی در 6 VB
    پاسخ: 0
    آخرین پست: جمعه 30 تیر 1391, 11:35 صبح
  5. چک کردن وضعیت اینترنت کامل و بدون هنگ و مشکل !!!
    نوشته شده توسط lahij.ir در بخش VB.NET
    پاسخ: 5
    آخرین پست: یک شنبه 31 مرداد 1389, 11:47 صبح

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

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