دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۲۳
  • مرداد

جلسه ۲۴ : Isolate ها در زبان دارت

  • دسته‌بندی‌ها :
جلسه ۲۴ : Isolate ها در زبان دارت

        با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
        با جلسه ای دیگر از سری جلسات دوره آموزش زبان برنامه نویسی دارت Dart در خدمت شما هستیم.
        در جلسه قصد داریم به آموزش برنامه نویسی موازی با استفاده از isolate ها در زبان دارت Dart بپردازیم.

        مقدماتی

        با استفاده از isolate ها می‌توانیم برنامه هایی بنویسیم که دستورات آن ها به صورت موازی و همزمان اجرا شوند.
        در زبان های برنامه نویسی دیگر از نخ ها (Threads) برای این کار استفاده می‌کنیم. اما در زبان دارت، isolate ها این کار را برای ما انجام می‌دهند.

        isolate ها همانطور که از نام ان ها پیداست، واحد های ایزوله شده کد در حال اجرا هستند.
        تنها راه ارتباط بین این واحد ها ارسال پیام است.
        کلاس Isolate در کتابخانه dart:isolate در دسترس است.

        استفاده از isolate ها به برنامه ها امکان استفاده از مزایای پردازنده های چند هسته ای را می‌دهد.

        برنامه نویسی موازی با استفاده از isolate ها

        اجازه دهید با یک مثال کار با isolate ها را به شما آموزش دهیم.

        مثال : 

        متد spawn از کلاس isolate، تابع foo را به صورت موازی با سایر کد های برنامه اجرا می‌کند.
        این متد دو پارامتر دارد:

        • تابعی که آن را راه اندازی می‌کند
        • یک شئ که به تابع راه اندازی شده ارسال می‌شود

        الزامی به ارسال یک شئ نیست و می‌توانیم آن را null بگذاریم.

        در مثال بالا الزامی وجود ندارد که توابع foo و main به یک ترتیب اجرا شوند. حتی ممکن است تابع foo اصلا اجرا نشود.
        همچنین هیچ تضمینی به ما داده نمی‌شود که دو تابع فوق چه زمانی اجرا می‌شوند.

        با هر بار اجرای برنامه بالا، یک خروجی متفاوت دریافت خواهید کرد.

        خروجی ۱:

        مثال : 

        خروجی ۲:

        مثال : 

        خروجی که شما بر روی رایانه خود خواهید گرفت، متفاوت از خروجی من خواهد بود.

         

        تفاوت Isolate و Future

        استفاده از Future نیز باعث می‌شود تا تابع مورد نظر به صورت async و موازی با ادامه کد های برنامه اجرا شود.
        اما هدف اصلی Future برگرداندن مقدار یک تابع بعد از اجرای کامل آن تابع است.
        در حالیکه که isolate ها مکانیزمی مستقل و گسترده تر برای ایجاد و پیاده سازی برنامه نویسی موازی هستند.

         

         

        جلسه آموزش برنامه نویسی موازی با استفاده از isolate ها در زبان دارت نیز به پایان رسید.

        در جلسه بعد به آموزش تست واحد در زبان دارت خواهیم پرداخت.

        QR:  جلسه ۲۴ : Isolate ها در زبان دارت
        به اشتراک بگذارید