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

نام تاپیک: توضیح دستور موازی

  1. #1
    کاربر دائمی آواتار icegirl_f2r
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ESF_Ashrafi Esfahani
    پست
    204

    توضیح دستور موازی

    میشه اینن دستور را توضیح بدین ممنون.

  2. #2
    کاربر دائمی آواتار icegirl_f2r
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ESF_Ashrafi Esfahani
    پست
    204

    نقل قول: توضیح دستور موازی

    اگه میشه دقبقا توضیح بدین دستورات و پارامترها را . یکم پیچیده است گیج میشم نمیدونم پارامترهاش چیه و چرا اینطور نوشته میشه.

  3. #3
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: توضیح دستور موازی

    سلام جستجوی فایل هایی که نام آنها با حرف a شروع و با هر پسوندی تو تمام دایرکتوری های موجود در سیستم است.
    ابتدا یه Task تعریف شده که آیتمهای لیست باکس رو خالی میکنید و دکمه رو به حالت غیر فعال میبرد. بعد تمام فایل هارو با شاخص موجود در سیستم درون متغییر fileInfo میریزه و با استفاده از حلقه foreach به صورت موازی(اینم یک Task میباشد) تک تک فایل های درون لیست fileInfo به تاخیر 0.3 ثانیه به تابع currentFile ارسال میکند.احتمالا تابع currentFile که در کد شما وجود ندارد کار افزودن آیتم به لیست باکس رو انجام بدهد

  4. #4
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: توضیح دستور موازی

    چرا اینطور نوشته شده؟ این قطعه کد سه کار متفاوت رو انجام میدهد.اگر این کدهارو بدون استفاده از Task و یا Thread نوشته میشد راندمان کار پایین میومد بدین صورت ابتدا listbox ایتم هاش خالی میشد و بعد از اتمام کار اول به سراغ جستجوی فایل و در آخر کار افزودن ایتم ها.تا اتمام این سه کار UI در حالت قفل در میاد و راندمان کار و سرعت اجرا پایین میامد.با تقسیم کار بین کار و ایجاد Task اجرای هر کدوم از کارها رو به یک cpu داده میشود و الان 3 cpu به طور همزمان هر کدام بخشی از کارو انجام میدهند که سرعت کار به مراتب بالاتر میرود اگه سه کارو با یه cpu انجام بدیم تفاوت و راندمان آن نسبت به حالت استفاده از Task روشن و بدیهی ست.پیشنهاد من اگه آشنایی یا تجربه کار با Task و یا Thread رو نداری تا زمانی که تسلط وتجربه کافی بدست نیاوردی ازش اسفاده نکن.

  5. #5
    کاربر دائمی آواتار icegirl_f2r
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ESF_Ashrafi Esfahani
    پست
    204

    نقل قول: توضیح دستور موازی

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    چرا اینطور نوشته شده؟ این قطعه کد سه کار متفاوت رو انجام میدهد.اگر این کدهارو بدون استفاده از Task و یا Thread نوشته میشد راندمان کار پایین میومد بدین صورت ابتدا listbox ایتم هاش خالی میشد و بعد از اتمام کار اول به سراغ جستجوی فایل و در آخر کار افزودن ایتم ها.تا اتمام این سه کار UI در حالت قفل در میاد و راندمان کار و سرعت اجرا پایین میامد.با تقسیم کار بین کار و ایجاد Task اجرای هر کدوم از کارها رو به یک cpu داده میشود و الان 3 cpu به طور همزمان هر کدام بخشی از کارو انجام میدهند که سرعت کار به مراتب بالاتر میرود اگه سه کارو با یه cpu انجام بدیم تفاوت و راندمان آن نسبت به حالت استفاده از Task روشن و بدیهی ست.پیشنهاد من اگه آشنایی یا تجربه کار با Task و یا Thread رو نداری تا زمانی که تسلط وتجربه کافی بدست نیاوردی ازش اسفاده نکن.
    ممنون.
    میشه دستورات task . foreach را با پارامترهایش واسم توضیح بدین.
    آخه این فقط یه پروژه دانشجویی هست.
    و اینکه اگه بخوام وسط کار از ادامه عملیات صرف نظر کنم چکار باید بکنم؟
    ممنون میشم جواب بدین.

  6. #6
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    try
    {
    listBox.Items.Clear();
    button.Enabled = false;
    var fileInfo = info.EnumerateFiles("a*.*", SearchOption.AllDirectories);
    foreach (var item in fileInfo)
    {
    currentFile(item.FullName, listBox, button);
    }
    }
    catch { };



    کد بالا رو جایگزین کن.زیاد مهم نیست حالا همزمانی نداشته باشه چون یه پروژه دانشجویی هست ایتمهای درون لیست از 200 ، 300 تا بیستر نمیشه بهتره حذف شه چون ممکنه سوال پرسیده شود و آشنایی باهاش نداری تو دردسر میفتی.کد رو تو ایتور فروم نوشتم تست نکردم رو سیستم اگر خطای داد بگین
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 31 تیر 1394 در 22:09 عصر

  7. #7
    کاربر دائمی آواتار icegirl_f2r
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ESF_Ashrafi Esfahani
    پست
    204

    نقل قول: توضیح دستور موازی

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    کد بالا رو جایگزین کن.زیاد مهم نیست حالا همزمانی نداشته باشه چون یه پروژه دانشجویی هست ایتمهای درون لیست از 200 ، 300 تا بیستر نمیشه بهتره حذف شه چون ممکنه سوال پرسیده شود و آشنایی باهاش نداری تو دردسر میفتی.کد رو تو ایتور فروم نوشتم تست نکردم رو سیستم اگر خطای داد بگین
    ممنونم. اما من دقیقا دستورات را به همین صورت یعنی موازی میخوام چون درسمون موازی سازی هست!
    اگه لطف کنید دستورات موازی را برام توضیح بدین ممنون میشم.

  8. #8
    کاربر دائمی آواتار icegirl_f2r
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ESF_Ashrafi Esfahani
    پست
    204

    نقل قول: توضیح دستور موازی

    کسی دستورات موازی را بلد نیست عایا؟

  9. #9
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: توضیح دستور موازی

    Task اوصلا به چند شیوه ییاده سازی میشود. خط اول یه نمونه استفاده از Task با استفاده از Factory هست داخل تابع StartNew() پارامتر اول آن دستوراتی که قرار Task انجام بده به صورت inline و به شیوه عبارت لامدا ()=> اشاره به بدنه دستورات میکنه که با { شورع و با } پایان دستوراتی که Task باید انجام بدهد رو مشخص کرده.و بعد از آن پارامتر دوم StartNew مشخص کرده که آیا امکان لغو یا کنسل سازی Task هست ک مقدارآن CancelationToken.none که امکان کنسل کردن غیر فعال و پارامتر بعدی تابع StartNew() یه متغییری هست به نام uiSchedulerاز نوع TaskScheduler هست که در ابتدای برنامه بصورت public تعریف کرده .میزسیم به خط Parallel.Foreach.قبل از اجرای این دستور ما تمام فایل های با الگوی مورد جستجو را در متغییر fileInfo ریختیم.تعداد فایل ها میتونه از 0 تا هر چندتا باشه حالا ما فرض میکنینم تعداد فایل های یافت شده 5000تا باشه Parallel.Foreach بصورت موازی دو یا چند Task رو بطور موازی که هر Task روی یک cpu در حال اجرا میباشد تولید و لیست را بستگی به تعداد به چند بخش تقسیم گرده ممکن است 4 تا Task بصورت موازی و به هر Task تعداد 1250 آیتم از بدهد و پردازش هر قسمت رو یکی از Task های تولید شده توسط Paralle.Foreach انجام میدهد.

  10. #10
    کاربر دائمی آواتار icegirl_f2r
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    ESF_Ashrafi Esfahani
    پست
    204

    نقل قول: توضیح دستور موازی

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    Task اوصلا به چند شیوه ییاده سازی میشود. خط اول یه نمونه استفاده از Task با استفاده از Factory هست داخل تابع StartNew() پارامتر اول آن دستوراتی که قرار Task انجام بده به صورت inline و به شیوه عبارت لامدا ()=> اشاره به بدنه دستورات میکنه که با { شورع و با } پایان دستوراتی که Task باید انجام بدهد رو مشخص کرده.و بعد از آن پارامتر دوم StartNew مشخص کرده که آیا امکان لغو یا کنسل سازی Task هست ک مقدارآن CancelationToken.none که امکان کنسل کردن غیر فعال و پارامتر بعدی تابع StartNew() یه متغییری هست به نام uiSchedulerاز نوع TaskScheduler هست که در ابتدای برنامه بصورت public تعریف کرده .میزسیم به خط Parallel.Foreach.قبل از اجرای این دستور ما تمام فایل های با الگوی مورد جستجو را در متغییر fileInfo ریختیم.تعداد فایل ها میتونه از 0 تا هر چندتا باشه حالا ما فرض میکنینم تعداد فایل های یافت شده 5000تا باشه Parallel.Foreach بصورت موازی دو یا چند Task رو بطور موازی که هر Task روی یک cpu در حال اجرا میباشد تولید و لیست را بستگی به تعداد به چند بخش تقسیم گرده ممکن است 4 تا Task بصورت موازی و به هر Task تعداد 1250 آیتم از بدهد و پردازش هر قسمت رو یکی از Task های تولید شده توسط Paralle.Foreach انجام میدهد.
    ممنونم. فقط شما میدونید متغیری که از نوع TaskScheduler تعریف میکنیم برای چی هستش؟یعنی زمانبندی میکنه؟

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

  1. توضیح دستور identity_insert در یک پرس و جوی insert
    نوشته شده توسط zimzim در بخش T-SQL
    پاسخ: 3
    آخرین پست: سه شنبه 31 مرداد 1391, 09:08 صبح
  2. توضیح دستور Line
    نوشته شده توسط iltsaetsi در بخش برنامه نویسی مرتبط با بازی و گرافیک در VB6
    پاسخ: 4
    آخرین پست: چهارشنبه 02 تیر 1389, 21:55 عصر
  3. توضیح در مورد stored procedure و دستور back up
    نوشته شده توسط hamide_kh در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 2
    آخرین پست: جمعه 03 اسفند 1386, 13:25 عصر
  4. درخواست توضیح دستور Me
    نوشته شده توسط فردان فردان در بخش Access
    پاسخ: 6
    آخرین پست: سه شنبه 29 خرداد 1386, 07:31 صبح

برچسب های این تاپیک

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

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