پیرامون همین مطلب:
تفاوت بین Asynchronous و Multi-Threading
پیاده سازی Asynchronous به صورت Multi-Threaded
تفاوت بین Process و Thread چیست؟
کلاس Thread برای ایجاد و دستکاری کردن یک Thread در ویندوز استفاده می شود در حالی که یک Task نمایانگر برخی از عملیات های asynchronous و بخشی از Task Parallel Programming یا به اختصار TPL می باشد که که روشی برای نوشتن برنامه Multi-Threaded است. این قابلیت بوسیله یکسری از کلاس ها که در فضای نامSystem.Threading.Tasks قرار دارد فراهم شده و به ما این اجازه را می دهد که بدون درگیر شدن مستقیم با Thread ها و Thread Pool ها برنامه های Multi-Threaded بنوسیم. با این کار شیوه کار با Threadها بسیار ساده شده و یکسری از پیچیدگی ها در این بین حذف می شود.
یکی از قابلیت های TPL این است که کارهای محوله را به صورت خودکار بین CPU های سیستم (در صورت وجود) توزیع می کند که این کار در پشت زمینه بوسیله CLR Thread Pool انجام می شود. کارهای انجام شده توسط TPL در پشت زمینه عبارتند از تقسیم بندی وظایف، زمانبندی Thread ها، مدیریت وضعیت (State Management) و یکسری از کارهای اصطلاحاً Low-Level دیگر. نتیجه این کار برای شما بالا رفتن کارآیی برنامه ها بوده بدون اینکه درگیر پیچیدگی های کار با Thread ها شوید.