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