آموزش جاوا: چند رشته ای و همزمانی ساده شده است
4h 24m
61
Udemy
11 اسفند 1399
5,691
4.6 از 5
دارد (اگر در سایت مرجع باشد، قرارداده می شود.)
معمولا دارد
معمولا دارد (در صورت درخواست)

https://donyad.com/d/4bbe

آموزش جاوا: چند رشته ای و همزمانی ساده شده است

Java: Multi-threading and Concurrency Simplified

سرفصل ها و درس ها | نظرات

توضیحات دوره: با اطمینان کد تک رشته ای را به کد چند رشته ای تبدیل کنید ، کاربردهای همزمان را بدانید و موارد دیگر ..

آنچه خواهید آموخت

  • مفاهیم موضوع را بشناسید - طراحی ، وضعیت ها ، اولویت ها ، موضوعات Daemon.
  • با استفاده از بلوک ها و قفل های هماهنگ ، تکنیک های کنترل همزمان را اعمال کنید.
  • اجزای اصلی بسته java \ .util \ .concurrent از جمله Fork Join Framework را درک کنید.
  • یک تعامل ساده HttpServer را مسخره کنید
  • شروع به فکر کردن به روش توزیع شده کنید

چند رشته ای در جاوا اساسی ترین ویژگی است که هر یک از توسعه دهندگان جاوا باید آن را درک کنند و بتوانند با اطمینان آن را در حل مشکلات پیچیده برنامه نویسی که اجرای همزمان آن ضروری است ، به کار گیرند. با پردازش موازی ، یک خطر وجود دارد ، یعنی تغییر پذیری مشترک و توانایی توسعه دهنده در حل مشکلات همزمانی.

با تشکر از زبان برنامه نویسی جاوا که باعث می شود توسعه برنامه های چند رشته ای قدرتمند یک کیک پیاده روی، اگر شما چندین کلید یا مفاهیم اصلی را جذب می کنید، می توانید با اطمینان برنامه های کاربردی چند رشته را با سهولت طراحی کنید.

برای طراحی برنامه های چند رشته ای ، توسعه دهندگان باید از منظر دیگری به آن نگاه کنند ، یعنی تفکر را از سریال به موازی تغییر دهند و نیاز به تلاش زیادی دارد. با توجه به این نکته ، این دوره شامل سخنرانی های اساسی است که می تواند شما را در این زمینه راهنمایی کند.

این دوره با در نظر گرفتن نکات فوق طراحی شده است و به شما کمک می کند تا از طریق مثال های ساده و قابل فهم این مشکلات پیچیده را درک کنید.

مطالب دوره شامل

است
  • درک موضوعات ، اولویت ها ، ایالت ها ، موضوعات Daemon.

  • همگام سازی موضوع با استفاده از بلوک ها و قفل های هماهنگ شده.

  • اجزای اصلی بسته java.util.concurrent شامل ForkJoinPool و ForkJoinTask (ها).

  • برای توضیح نحوه کار HTTP و شبیه سازی نحوه پاسخگویی یک وب سرور معمولی به درخواست های مشتری ، HttpServer را مسخره کنید.

  • ThreadLocal

  • معرفی قفل های توزیع شده

  • مروری بر نحوه ساخت برنامه های مقیاس پذیر با استفاده از صف های پیام رسانی.

  • مقدمه ای بر لامبدا و جریان ها (آینده)

این دوره برای چه کسانی است:

  • هر کسی که به دنبال اضافه کردن Multithreading و همزمانی به مجموعه مهارت های خود همراه با جاوا
است


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

معرفی Introduction

  • معرفی Introduction

  • برنامه های تک رشته ای و چند رشته ای Single Threaded vs Multi Threaded Apps

  • مثال برنامه تک رشته ای Single Threaded App Example

  • یادداشت ها - مثال برنامه تک رشته ای Notes - Single Threaded App Example

  • موازی واقعی در مقابل موازی منطقی True Parallelism vs Logical Parallelism

  • یادداشت ها - موازی واقعی در مقابل موازی منطقی Notes - True Parallelism vs Logical Parallelism

طراحی برنامه های چند رشته ای Designing Multi-threaded applications

  • طراحی موضوعات Designing Threads

  • طراحی موضوعات توضیح داده شده است Designing Threads Explained

  • یادداشت ها - طراحی موضوعات Notes - Designing Threads

  • کد را برای دستیابی به موازی سازی تغییر شکل دهید Transform code to achieve parallelism

  • یادداشت ها - کد را برای دستیابی به موازی سازی تغییر شکل دهید Notes - Transform code to achieve parallelism

  • سرویس مجری Executor Service

  • یادداشت ها - خدمات مجری Notes - Executor Service

  • توقف نخ در وسط Stopping Thread in the middle

  • یادداشت ها - متوقف کردن موضوع در وسط Notes - Stopping Thread in the middle

  • ایالات موضوع Thread States

  • یادداشت ها - ایالات موضوع Notes - Thread States

  • اولویت های موضوع Thread Priorities

  • یادداشت ها - اولویت های موضوع Notes - Thread Priorities

  • Threads و ThreadGroup سیستم داخلی Internal System Threads and ThreadGroup

  • یادداشت ها - رشته های داخلی سیستم و گروه های موضوعی Notes - Internal System Threads and ThreadGroup

  • موضوعات Daemon Daemon Threads

  • یادداشت ها - موضوعات Daemon Notes - Daemon Threads

  • وظیفه قابل تماس Callable Task

  • یادداشت ها - وظیفه قابل تماس Notes - Callable Task

  • جستجوی الگو در پوشه - رویکرد سریال Pattern search in folder - Serial approach

  • جستجوی الگو در پوشه - رویکرد موازی Pattern search in folder - Parallel approach

  • یادداشت ها - جستجوی الگو در پوشه Notes - Pattern Search in folder

  • مجموعه مشکلات - 1 Problem Set - 1

  • مجموعه مشکل - 1 - راه حل Problem Set - 1 - Solution

کنترل همزمان Concurrency Control

  • نیاز به همگام سازی Need for Synchronization

  • روشهای همزمان Synchronized methods

  • در صورت وجود اعضای ثابت ، همگام سازی می شود Synchronized in case of static members

  • مشکل با روش همگام سازی و راه حل با بلوک همگام سازی شده The Problem with Synchronized Method and Solution with Synchronized Block

  • یادداشت ها - همگام سازی موضوع Notes - Thread Synchronization

  • Deadlocks و راه حل با توالی قفل Deadlocks and solution with lock sequencing

  • یادداشت ها - بن بست و راه حل با توالی قفل Notes - Deadlocks and solution with lock sequencing

  • قفل های وارد شده Reentrant Locks

  • یادداشت ها - قفل های مجدد Notes - Reentrant Locks

  • مجموعه مشکلات - 2 Problem Set - 2

  • مجموعه مشکلات - 2 - راه حل Problem Set - 2 - Solution

  • موضوع سیگنالینگ با استفاده از انتظار و اطلاع رسانی Thread Signaling Using wait and notify

  • مشکل تولید کننده و مصرف کننده Producer and Consumer Problem

  • یادداشت ها - مشکل تولید کننده و مصرف کننده Notes - Producer and Consumer Problem

HttpServer و ThreadLocal Pattern را مسخره کنید Mock HttpServer and ThreadLocal Pattern

  • HTTP و سرور چند رشته HTTP سرور HTTP and Mock multi-threaded HTTP Server

  • موضوع محلی ThreadLocal

  • یادداشت ها - موضوع محلی Notes - ThreadLocal

بسته java.util.concurrent java.util.concurrent package

  • BlockingQueue و مشکل تولید کننده و مصرف کننده تجدید نظر شده BlockingQueue and revised producer and consumer problem

  • یادداشت ها - BlockingQueue و مشکل تولید کننده و مصرف کننده تجدید نظر شده Notes - BlockingQueue and revised producer and consumer problem

  • priorityblockingqueue PriorityBlockingQueue

  • یادداشت ها - PriorityBlockingQueue Notes - PriorityBlockingQueue

  • به چارچوب بپیوندید Fork Join Framework

  • یادداشت ها - چارچوب به چارچوب بپیوندید Notes - Fork Join Framework

  • سمافر Semaphore

  • CountDownLatch CountDownLatch

  • CyclicBarrier CyclicBarrier

  • انواع اتمی (AtomicInteger ، AtomicBoolean ....) Atomic Types (AtomicInteger, AtomicBoolean....)

شروع به تفکر فکر کردن Kick Start Thinking Distributed

  • با استفاده از صف مقیاس بندی کنید Scale up using Queues

  • در مورد قفل های توزیع شده سر می زنید Heads up about Distributed Locks

کد منبع Source Code

  • کد منبع برای بارگیری Source Code for download

بعدا چی؟ What's next?

  • سخنرانی جایزه: کوپن های پیشنهادی سایر دوره های من Bonus Lecture: OFFER Coupons for my other courses

نمایش نظرات

نظری ارسال نشده است.

Sagar Uppuluri

مهندس نرم افزار و یک مربی پرشور ساگر فارغ التحصیل M.Tech از ANU ، یک توسعه دهنده برنامه و یک مربی پرشور جدا از اینکه یک یادگیرنده و شنونده خوب است ، کار خود را به عنوان یک مربی آغاز کرد و بعداً او بخشی از طراحی و توسعه چندین پروژه نرم افزاری بود و محصولات شهرت خود را به عنوان یک توسعه دهنده سخت افزار جاوا و متخصص یکپارچه سازی سیستم به دست آورد و با مهارت های فنی ، رهبری و راهنمایی خود در موفقیت در چندین پروژه نقش مهمی داشت.