مشاهده نسخه کامل
: threads !!!!?????
rz_assar
19-08-2008, 00:13
سلام رفقا
كسي ميدونه اگه يه روزگاري يكي خواست داخل يه thread يه اكسپشن raise يا به عبارت بهتر throw كنه كجا ميتونه handle exception كنه؟ يعني مني كه يه ترد جداگانه run كردم هيچ جاي برنامم نميتونم اكسپشن احتمالي رو cach كنم مگر تو خود thread ؟؟؟؟؟ اگه اينجوري باشه (كه اميدوارم نباشه) خيلي ضايعه هااااااااا فكر كنننننننننننن !!!
سلام
به نظر میرسه هنوز میتوان به مطرح شدن سوالات جالب در تالار امیدوار بود.!
==============
اولاً تاکید میکنم که هر خطایی باید از قبل پیش بینی شده باشد و در محلش که احتمال خطا وجود داشته، فکری شده باشد و دستور Try مناسب نوشته شده باشد.
ولی بعد از انجام بند فوق انجام این کار هم برای محکم کاری خوب است.
برای اطمینان و اینکه حداقل Exception هایی که از دستمام در رفته را جایی ذخیره کنیم تا بعداً برنامه نویس سر فرصت آن ایراد را رفع کنیم، و نیز پیغام مناسب به کاربر نشان داده شود.
راه حل هم ساده است. شما میتوان در اولین متد راه اندازی شده توسط ریسمان یک Try قرار دهید.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این روش در همه جا قابل استفاده است ولی اگر تعداد ریسمان ها زیاد باشد شاید نوعی تکرار و copy و paste را منجر شود، که در برنامه نویسی جالب نیست.
==============
در نتیجه در مرحله دوم پیشنهاد ساخت یک کلاسس مخصوص این کار را میدهم، مثلاً این کد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا تنها کاری که باید انجام دهید، آن است که به جای New ساختن یک ریسمان متد جدید CreateNewThreadInstance را استفاده کنید، دیگر از copy و paste هم خبری نیست !
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
میبینید که فقط خط اول و نحوه وهله سازی تغییر کرد و دیگر هیچ تغییری در کدها لازم نیست و کلیه خطاهای ریسمانهایی که به این نحو ساخته شوند برای مدیریت به متد ThreadException خواهد رسید.
البته میتوانید overload های دیگری برای CreateNewThreadInstance بسازید تا همه انواع New سازی ذاتی Thread را شبیه سازی کند.
سلام
میبخشید پا برهنه می یام وسط ولی این threads چی هست (منضور همون بحث چند نخی در سیستم عامله)؟
سلام
ریسمان یا به قول شما نخ یا یک فرآیند پردازش موازی و... که ویندوز از ان پشتیبانی میکند و ما در دات نت استفاده میکنیم.
توضیح بیشتر نمیدهم چون گمان میکنم میدانید چه میگویم و متوجه شدید منظور چیست.
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.