آموزش بررسی عمیق Java SE: برنامه‌نویسی همزمان با Virtual Threads - آخرین آپدیت

دانلود Java SE Deep Dive: Concurrent Programming with Virtual Threads

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: طراحی یک سیستم واکنش‌گرا (Reactive) مبتنی بر callback پیچیده است و منجر به کدهایی می‌شود که تست، دیباگ و نگهداری آن‌ها در درازمدت دشوار و هزینه‌بر است. در این دوره آموزشی جامع Java SE، شما یاد می‌گیرید که چگونه از راهکارهای مبتنی بر Virtual Threads برای غلبه بر این مشکلات استفاده کنید و کدهای ساده، دستوری (Imperative) و مسدودکننده (Blocking) خود را به بهترین راهکار برای طراحی سیستم‌های واکنش‌گرا تبدیل کنید. ابتدا نحوه عملکرد Virtual Threads در جاوا را بررسی می‌کنید تا بتوانید تصمیمات آگاهانه‌ای در مورد محل استفاده از آن‌ها در اپلیکیشن خود بگیرید. سپس با Structured Concurrency آشنا می‌شوید تا سیستم‌های واکنش‌گرایی برای پرس‌وجو از چندین سرور با استراتژی‌های مختلف طراحی کنید. در نهایت، یاد می‌گیرید که چگونه از Scoped Values برای مدیریت مواردی مانند امنیت استفاده کنید. پس از اتمام این دوره، قادر خواهید بود اپلیکیشن‌های خود را با استفاده از Virtual Threads، Structured Concurrency و Scoped Values بهینه کرده و قابلیت نگهداری کدهای واکنش‌گرا و Asynchronous خود را افزایش دهید.

سرفصل ها و درس ها

بهبود برنامه‌نویسی واکنش‌گرا با Virtual Threads Improving Reactive Programming with Virtual Threads

  • معرفی Virtual Threads Introducing Virtual Threads

  • چرا استفاده از Virtual Threads در مقابل برنامه‌نویسی واکنش‌گرا؟ Why Using Virtual Threads vs. Reactive Programming?

  • نحوه پذیرش Virtual Threads توسط فریم‌ورک‌ها How Frameworks Are Adopting Virtual Threads

  • تعریف توان عملیاتی (Throughput) یک اپلیکیشن Defining the Throughput of an Application

  • نوشتن کد همزمان (Synchronous) در مقابل کد ناهمزمان (Asynchronous) Writing Synchronous Code vs. Asynchronous Code

  • اجرای کدهای همزمان (Concurrent) Executing Concurrent Code

  • منظور از مسدودکننده (Blocking) بودن کد چیست؟ What Does It Mean for Your Code to Be Blocking?

  • تحلیل عملکرد یک درخواست (Request) Analyzing the Performance of a Request

  • ارسال درخواست‌های همزمان برای به حداکثر رساندن استفاده از CPU Sending Concurrent Requests to Maximize Your CPU Usage

  • مدیریت یک میلیون درخواست همزمان Managing One Million Concurrent Requests

  • دموی زنده: مقایسه کدهای Imperative، Concurrent و Reactive Live Demo: Comparing the Imperative, Concurrent and Reactive Code

  • دموی زنده: مدیریت Timeouts Live Demo: Dealing with Timeouts

  • دموی زنده: مدیریت استثناها (Exceptions) در تسک‌ها Live Demo: Dealing with Exceptions in Your Tasks

معرفی Virtual Threads برای افزایش توان عملیاتی Introducing Virtual Threads to Increase Your Throughput

  • ساخت مدل جدیدی از Threadها Building a New Model of Threads

  • دموی زنده: ایجاد و اجرای اولین Virtual Threadها Live Demo: Creating and Running Your First Virtual Threads

  • اجرای یک Virtual Thread روی یک Carrier Thread Running a Virtual Thread on a Carrier Thread

  • دموی زنده: ایجاد و مسدود کردن یک میلیون Virtual Thread Live Demo: Creating and Blocking a Million Virtual Threads

  • دموی زنده: تعداد Platform Threadهای مورد نیاز برای اجرای Virtual Threads Live Demo: How Many Platform Threads to Run Virtual Threads

  • دموی زنده: بررسی API داخلی Continuation Live Demo: Exploring the Internal Continuation API

  • دموی زنده: Continuation در عمل Live Demo: Continuation in Action

  • اجرای یک تسک مسدودکننده در یک Virtual Thread با Continuation Executing a Blocking Task in a Virtual Thread with a Continuation

  • ذخیره‌سازی استک‌های Virtual Threads در حافظه Heap Storing Virtual Threads Stacks in the Heap Memory

  • تثبیت (Pinning) یک Virtual Thread روی Carrier Thread آن Pinning a Virtual Thread on Its Carrier Thread

  • مقایسه Virtual Threads و برنامه‌نویسی واکنش‌گرا Comparing Virtual Threads and Reactive Programming

  • مقایسه مدل‌های برنامه‌نویسی Comparing Programming Models

معرفی Structured Concurrency Introducing Structured Concurrency

  • معرفی Structured Concurrency Introducing Structured Concurrency

  • حذف Gotos در برنامه‌نویسی همزمان Getting Rid of Gotos in Concurrency

  • دموی زنده: ایجاد اولین StructuredTaskScope Live Demo: Creating a First StructuredTaskScope

  • دموی زنده: تحلیل نتایج زیر-تسک‌ها (Subtasks) Live Demo: Analyzing the Subtask Results

  • دموی زنده: تحلیل استثناها Live Demo: Analyzing the Exceptions

  • دموی زنده: استفاده از Joiner برای دریافت اولین نتیجه تولید شده Live Demo: Using a Joiner to Get the First Result Produced

  • دموی زنده: مدیریت استثناها در Scope پیش‌فرض Live Demo: Managing Exceptions in the Default Scope

  • دموی زنده: تحلیل نتایج و استثناها با استفاده از Stream Live Demo: Analyzing the Results and the Exceptions with a Stream

  • دموی زنده: استفاده از Joiner مدل AwaitAll برای دریافت تمامی نتایج Live Demo: Using the AwaitAll Joiner to Get All the Results

  • دموی زنده: تنظیم Timeout با استفاده از شیء Configuration Live Demo: Setting up a Timeout with the Configuration Object

  • دموی زنده: استفاده از تسک‌های قابل لغو (Cancellable Tasks) Live Demo: Using Cancellable Tasks

استفاده از Joiners برای شخصی‌سازی Structured Concurrency Using Joiners to Customize Structured Concurrency

  • معرفی Joiners برای شخصی‌سازی استراتژی‌های StructuredTaskScope Introducing Joiners to Customize StructuredTaskScope Strategies

  • دموی زنده: تعیین تایپ‌های مناسب برای Joinerها Live Demo: Setting the Right Types for Your Joiners

  • دموی زنده: یافتن ارزان‌ترین پرواز Live Demo: Getting the Cheapest Flight

  • انشعاب (Forking) یک تسک با StructuredTaskScope Forking a Task with a StructuredTaskScope

  • تکمیل تسک‌ها و تولید نتیجه Completing Tasks and Producing a Result

  • لغو Scope از طریق یک Callback Cancelling a Scope From a Callback

  • طراحی تسک‌های قابل وقفه (Interruptible Tasks) Designing Interruptible Tasks

  • دموی زنده: ایجاد Joiner برای دریافت بهترین قیمت Live Demo: Creating a Joiner to Get the Best Price

  • دموی زنده: مدیریت استثناها با استفاده از Joiner Live Demo: Dealing with Exceptions with a Joiner

  • دموی زنده: انتخاب بین onFork() و onComplete() Live Demo: Choosing Between onFork() and onComplete()

  • دموی زنده: ساخت یک صفحه سفر Live Demo: Building a Travel Page

  • لغو Scopeها و Scopeهای ایجاد شده توسط Virtual Threadهای آن Cancelling Scopes and Scopes Created by its Virtual Threads

  • طراحی مسئولیت‌های Joinerها Designing the Responsibilities of Joiners

استفاده از Scoped Values به جای ThreadLocals Using Scoped Values Instead of ThreadLocals

  • معرفی Scoped Values برای جایگزینی متغیرهای ThreadLocal Introducing Scoped Values to Replace ThreadLocal Variables

  • دموی زنده: ایجاد، اتصال (Binding) و خواندن Scoped Values Live Demo: Creating, Binding, and Reading Scoped Values

  • دموی زنده: خواندن Scoped Values از ترد‌های دیگر Live Demo: Reading Scoped Values From Other Threads

  • دموی زنده: خواندن Scoped Values از StructuredTaskScopes Live Demo: Reading Scoped Values From StructuredTaskScopes

  • دموی زنده: مشاهده Scoped Values در عمل Live Demo: Seeing Scoped Values in Action

  • جمع‌بندی دوره Wrapping up the Course

نمایش نظرات

آموزش بررسی عمیق Java SE: برنامه‌نویسی همزمان با Virtual Threads
جزییات دوره
2h 27m
55
Pluralsight (پلورال سایت) Pluralsight (پلورال سایت)
(آخرین آپدیت)
6
از 5
دارد
دارد
دارد
Jose Paumard
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Jose Paumard Jose Paumard

خوزه با علاقه بیش از 20 سال در مورد برنامه نویسی رایانه ها ، اولین بار در مونتاژ و C ، C برای ماشین های موازی SIMD قبل از استفاده از جاوا به عنوان یک زبان شی گرا ، برای بسیاری از عمده ترین برنامه های مدرن ضروری بود. او تخصص و ظرفیت خود را برای تجزیه و تحلیل و ترکیب در بسیاری از پروژه ها ، عمدتا در لایه های پایین تر ، نزدیک به داده ها ، بلکه همچنین در مورد طراحی پیچیده رابط کاربر یا مرورگر ، به ارمغان می آورد. دکترای ریاضیات کاربردی و علوم کامپیوتر ، استادیار دانشگاه پاریس نور به مدت 15 سال ، خوزه همچنین اشتیاق زیادی به آموزش و انتقال دانش دارد. او برای هزاران نفر از توسعه دهندگان فرانسوی زبان در سراسر جهان ، وبلاگ ، جاوا le soir ، منبع مستند فرانسه در مورد فن آوری های جاوا می نویسد. وی عضوی از گروه کاربران فرانسوی جاوا در پاریس و از سازمان دهندگان کنفرانس Devoxx France است.