CSCIENCE

CSCIENCE

آموزش Async در سیشارپ 5 - بخش سوم

سه شنبه, ۵ فروردين ۱۳۹۳، ۱۲:۵۵ ق.ظ

آشنایی با Task (ادامه)



نوع دوم) انجام عملیاتی دیگر پس از اتمام یک Task
در مثال قبل تنها اجرای یک Task مهم بود و پایان آن اهمیتی نداشت. فرض کنید اینبار می‌خواهیم پس از پایان یک Task کار دیگری (معمولا وابسته به عملیات Task قبلی) انجام دهیم. برای این کار ابتدا لازم است که از پایان یافتن Task با خبر شویم. خوشبختانه دات نت این امکان را فراهم کرده است و شما تنها کافیست به Task بگویید که پس از پایان چه کاری انجام دهد.

2 تابع داریم، یکی DoJob که Task اصلی آن را اجرا می‌کند و دیگری AfterJob که قرار است بعد از پایان DoJob اجرا شود:

public void DoJob()
{
     //Body
}

public void AfterJob()
{
     //Body
}

ابتدا یک ارجاع به Task درحال اجرا ایجاد می‌کنیم:

Task t = Task.Run(() => DoJob());

اکنون تابع AfterJob را برای اجرا بعد از پایان یافتن DoJob به t نسبت می‌دهیم:

t.ContinueWith((tsk) => AfterJob());

که tsk همان ارجاع به Task اصلی است که در اینجا برای استفاده‌های بعدی Capture می‌شود.
هر 2 تابع DoJob و AfterJob می‌توانند هرگونه آرگومان ورودی داشته باشند. در مورد خروجی توابع در پست‌های بعدی بحث خواهیم کرد.

نظرات (۵)

سلام
میشه یه منبع خوب واسه سی شارپ برای شروع و ادامه حرفه ای معرفی کنین؟
اگه ممکنه منابعی که خودتون استفاده کردینو بگین
خیلی ممنون
پاسخ:
سلام
به نظر من یه منبع خوب و کامل نمی‌شه پیدا کرد. دلیلشم اینه که سیشارپ و دات نت خیلی بزرگن و یک منبع نمیتونه همه چیز رو پوشش بده. از طرفی حتی اگه فرض کنیم این منبع وجود داشته باشه، هیچ وقت به صورت کامل نمیشه سیشارپ یاد گرفت.
من خودم با درسی که تو دانشگاه باید میگذروندیم شروع کردم و بقیه ی چیزارو هر وقت توی هر پروژه ای نیاز داشتم تو اینترنت گشتم و یاد گرفتم. پیشنهادم برای شروع اینه که با یکی از این کتابا شروع کنی و سعی کنی مباحث اصلیشونو مسلط بشی
- کتاب Professional C# از انتشارات wrox (کتابای wrox همیشه مورد علاقه ی من بوده)
- کتاب C# Unleashed از انتشارات sams (خیلی دقیق و عمیق توضیح داده)
- کتاب Visual C# 2012 How to Program از انتشارات prentice hall (کتاب آکادمیک)
یه راه سریعتر برای شروع، دیدن ویدئو آموزشیه که من مجموعه ویدئویی C# Essential Training از شرکت Lynda رو توصیه میکنم.
وقتی که به برنامه نویسی شئ گرا و مباحث اصلی سیشارپ مسلط بشی، بقیه ی قسمتای پیشرفته تر رو میتونی موقعی که نیاز داشتی از منابع مختلف اینترنتی یاد بگیری.
واقعا ازتون ممنونم بابت وقتی که گذاشتین و توضیح دادین :)
خیلی لطف کردین
میشه یه سوال دیگه ام بپرسم راجب ارشد؟
علوم کامپیوتر یا مهندسی کامپیوتر یا آی تی؟
من رشتم علومه ولی واسه ارشد به آی تی فک میکنم چون از درسای علوم خیلی خوشم نمیاد!
میخوام نظر شمارو بدونم
مرسی
پاسخ:
من خودم همیشه طرفدار علاقه بودم پس نظرم اینه که رشته ای رو ادامه بدی که علاقه داری.
از نظر بازار کار خیلی اطلاعات دقیق ندارم اما تا جایی که می دونم، بازار کار کامپیوتر مهارتیه نه رشته ای.
مرسی :)
سلام آقای مظفری
دست شما درد نکنه
عالی بود
۱۷ شهریور ۹۴ ، ۱۵:۴۸ ماشین آلات upvc
مرسی از مطالب مفیدتون.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی