فراخوانی متد با Thread  جداگانه
#1
Note 
معمولا متدهایی که بار پردازشی زیادی دارند موجب کندی برنامه میشن
برای جلوگیری از این کار میشه این متد هارو با استفاده از یک Thread متفاوت از Thread اصلی برنامه فراخوانی کرد.
کد:
using System.Threading;

فرض کنیم این متد رو داریم :
کد php:
void DoSomething()
{
...


تعریف Thread جدید برای متد مورد نظر :
کد php:
Thread  myThread = new Thread(new ThreadStart(this.DoSomthing)); 

فراخوانی متد با استفاده از متد تعریف شده :
کد php:
myThread.Start(); 

برای متوقف کردن Thread ایجاد شده :
کد php:
myThread.Abort(); 


نکته : 
هر Thread فقط میتواند با object هایی کار کند که خودش آنها را ایجاد کرده است. مثلا اگر در متد DoSomething شما بخواهید با یک label که روی فرم است کار کنید cross-thread exception رخ خواهد داد چون آن label بوسیله Thread اصلی برنامه ایجاد شده است.
منبع :barnamenevis.org

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note سوال در مورد Thread در سی شارپ The Arrow 1 496 05-05-2013 ساعت 18:51
آخرین ارسال: ɌƟƟ₸€Ɍ

کاربرانِ درحال بازدید از این موضوع:   1 مهمان