تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 8 از 8

نام تاپيک: ارسال عدد و ساختن ترد

  1. #1
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض ارسال عدد و ساختن ترد

    سلام

    میخواهم یک عدد از ورودی بگیرم به دلخواه کاربر
    به اندازه اون ترد ایجاد کنم و ترد ها مشغول کنم به انجام یک کار الکی.
    مثلا یک تابع هم نوشتم و همه ترد ها میرن سراغ اون تابع.
    شاید طرف 10 وارد کرد شاید 100
    دیگه 100 بار نیام تعریف کنم ترد و Start بنویسم.
    البته بعدش با این ترد ها که ایجاد شدند. کار دارم.

  2. #2
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    فکر کنم هدف از بکار بردن حلقه ها هم همین مسئله باشه...!!!
    فقط اینکه چه مقدار از کد رو داخل حلقه قرار میدین هم مسئله‌ای هستش...!!!!
    این که یه ترد بسازید و ان بار شی ازش بسازید، یا اینکه ان تا ترد با هر کدوم یه دونه شی بسازید تعداد کد های داخل حلقه رو مشخص میکنه!‌:

  3. این کاربر از senaps بخاطر این مطلب مفید تشکر کرده است


  4. #3
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    فکر کنم هدف از بکار بردن حلقه ها هم همین مسئله باشه...!!!
    فقط اینکه چه مقدار از کد رو داخل حلقه قرار میدین هم مسئله‌ای هستش...!!!!
    این که یه ترد بسازید و ان بار شی ازش بسازید، یا اینکه ان تا ترد با هر کدوم یه دونه شی بسازید تعداد کد های داخل حلقه رو مشخص میکنه!‌:
    سلام درسته حلقه
    بیائیم یک حلقه بزاریم تا 20 تا بعد بره ایجاد کنه و شروع کنه
    اما بعد از حلقه چطور بهش دسترسی داشته باشیم؟
    حلقه ما با i جلو میره و ترد ها استارت میزنه حالا بعد از حلقه بخواهیم همین i که مثلا مورد 6 رو دسترسی داشته باشیم.
    اون وقت نمی شناسه.
    من می خواهم کلی از این ترد تو برنماه استفاده کنم . استارت و استوپ کنمشون.

  5. #4
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    حلقه ها یه سری حالت استاپ و گذر کردن و .... دارن!
    اون سوالتون در مورد دسترسی به I رو متوجه نشدم! حقیقتش.... میشه کمی بیشتر توضیح بدین که مشکلش چیه؟

  6. این کاربر از senaps بخاطر این مطلب مفید تشکر کرده است


  7. #5
    آخر فروم باز
    تاريخ عضويت
    Jul 2009
    پست ها
    6,351

    پيش فرض

    حلقه ها یه سری حالت استاپ و گذر کردن و .... دارن!
    اون سوالتون در مورد دسترسی به I رو متوجه نشدم! حقیقتش.... میشه کمی بیشتر توضیح بدین که مشکلش چیه؟
    خوبی اقا؟ ببخشید مزاحم شدم.
    ببنید ما میخواهیم تردینگ کار کنیم میگیم مثلا
    Thread a = new Thread (b )
    که اینجا a متغیر هست و b هم تابع ما.
    بعد میگیم a.start()
    خوب این دستی هست. فرض ما بخواهیم N نا مشخص و از کاربر بگیریم طرف شاید زد 17 شاید زد 30
    ما دیگه دستی کار نکنیم خودش بره برامون متغیر بسازه و Start رو بسازه.
    یک راه شما فرمودید حلقه درسته
    for (int i=1 ; i<=30 ; i++ )
    )
    ترد رو تو بدنه این بسازیم و start بزنیم درسته؟ کار هم میکنه . اما بعد از این بدنه بخواهیم ترد دسترسی داشته باشیم و روش کار کنیم نمیشه.
    یعنی من نتونستم.
    میخوام داینامیک باشه. به واسطه همین باید ترد ها رو stop و sleep و ... این کارا کنم.
    یعنی اگر 15 تا ترد کاربر زد دقیقا این 15 تا باید بعد برم سراغشون. یعنی برنامه بره

  8. #6
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

    پيش فرض

    سلام.
    می خواهم یک استفاده ای عجیب رو از دو مفهوم Thread و delegate رو نشان بدهم که کارگشای مشکل نیز هست:
    به این مثال دقت کنید:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    در ابتدا یک آرایه Thread تعریف کردیم که طول آرایه توسط کاربر تعیین می شود.
    از آنجایی که هر Thread یک تابع را اجرا می کند پس اگر من بخواهم مجموعه ای متفاوت از متد ها داشته باشم پس می بایست تا آرایه ای از متد ها نیز داشته باشم پس با Delegate (نه delegate) یک آرایه می سازم و سپس با delegate یک الگو برای متد هام تعریف می کنم.
    در اینجا من همه ی متد هام رو یکی تعریف کردم اما شما با این روش می تونید متد های مختلف رو پاس دهید.
    در یک حلقه هم شروع می کنم به نام گذاری و مشخص نمودن وضعیت Thread ها.

    در یک مثال قشنگتر نیز:
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برای دسترسی به هر Thread نیز کافیه تا آرایه رو با index مورد نظر مورد دسترس قرار دهید.

    نکته: استفاده از چنین روش هایی در تعداد بالای Thread به علت پیچیدگی اجرا در CPU پیشنهاد نمی گردد زیرا که تعداد Thread بالا باعث کاهش سرعت پردازش در هر Thread خواهد شد و راندمان را به صورت چشم گیری کاهش خواهد داد.

    موفق باشید.

  9. 3 کاربر از Msba بخاطر این مطلب مفید تشکر کرده اند


  10. #7
    کاربر فعال تالار .Net senaps's Avatar
    تاريخ عضويت
    Jul 2008
    محل سكونت
    خونمون
    پست ها
    4,547

    پيش فرض

    از دلیگیت ها متنفرم! با تشکر از شما...
    فرق دو دلیگیت رد چیه؟!(بزرگ و کوچیک!)...

  11. این کاربر از senaps بخاطر این مطلب مفید تشکر کرده است


  12. #8
    کاربر فعال تالار .Net Msba's Avatar
    تاريخ عضويت
    Dec 2006
    محل سكونت
    ! My Mind
    پست ها
    506

  13. 2 کاربر از Msba بخاطر این مطلب مفید تشکر کرده اند


Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

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