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