آموزش دوره جامع تسلط بر مالتی‌تریدینگ و برنامه‌نویسی موازی در جاوا - آخرین آپدیت

دانلود Java Multithreading and Parallel Programming Masterclass

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: به‌روزرسانی شده در می ۲۰۲۵. این دوره اکنون دارای قابلیت Coursera Coach است! روشی هوشمندانه‌تر برای یادگیری با گفتگوهای تعاملی و لحظه‌ای که به شما کمک می‌کند دانش خود را آزمایش کنید، پیش‌فرض‌ها را به چالش بکشید و در حین پیشروی در دوره، درک خود را عمیق‌تر کنید. این مسترکلاس برای تغییر دیدگاه شما نسبت به زبان جاوا از طریق بررسی پیچیدگی‌های مالتی‌تریدینگ (چند‌نخی) و برنامه‌نویسی موازی طراحی شده است. با شروع از مفاهیم پایه، یاد خواهید گرفت که پروسس‌ها و تردها چیستند و تفاوت‌های بین عملیات موازی (Parallel)، همزمان (Concurrent)، ناهمگام (Asynchronous) و غیرمسدودکننده (Non-blocking) را درک خواهید کرد. سپس دوره به مفاهیم پیشرفته‌ای مانند مدیریت تردها، از جمله ایجاد، اولویت‌بندی و مدیریت استثناها، همراه با پروژه‌های عملی مانند پردازش موازی فایل‌های متنی می‌پردازد. شما بخش‌های حیاتی همگام‌سازی تردها (Thread Synchronization) را بررسی کرده و بر استفاده از کلمات کلیدی synchronized، قفل‌ها (Locks)، سمافورها (Semaphores) و متغیرهای شرطی از طریق مثال‌ها و پروژه‌های دقیق مسلط می‌شوید. در ادامه، موضوع قابلیت استفاده مجدد با استخرهای ترد (Thread Pools)، نحوه پیاده‌سازی، مانیتورینگ عملکرد و سایزبندی مؤثر آن‌ها بررسی می‌شود. همچنین الگوریتم‌های موازی و مسائل مشهور مالتی‌تریدینگ تحلیل می‌شوند تا دانش لازم برای به‌کارگیری این مفاهیم در سناریوهای واقعی را کسب کنید. ماژول‌های کاربردهای واقعی، ادغام مالتی‌تریدینگ با فریم‌ورک‌های مدرن جاوا مانند Spring Boot و RxJava و استفاده از JavaFX برای پاسخگویی رابط کاربری (UI Responsiveness) را پوشش می‌دهند. در پایان این دوره، تسلط کاملی بر مالتی‌تریدینگ خواهید داشت که شما را قادر می‌سازد برنامه‌های جاوای کارآمد و با کارایی بالا بنویسید که از قدرت برنامه‌نویسی همزمان بهره می‌برند. این دوره برای توسعه‌دهندگان متوسط تا پیشرفته جاوا که درک پایه‌ای از برنامه‌نویسی جاوا دارند، ایده‌آل است. تجربه قبلی در مفاهیم اولیه مالتی‌تریدینگ مفید است اما اجباری نیست. علاقه‌مندان به ارتقای مهارت‌های بهینه‌سازی عملکرد و حل مسائل پیچیده همزمانی، این دوره را بسیار ارزشمند خواهند یافت.

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

مقدمه‌ای بر دوره Introduction to the Course

  • مرور کلی دوره Course Overview

  • چگونه بیشترین بهره را از این دوره ببریم How to Get the Most Out of This Course

  • پیش‌نیازهای دوره و منابع کد Course Prerequisites and Code Resources

مفاهیم کلی مالتی‌تریدینگ General Multithreading Concepts

  • پروسس چیست؟ What Is a Process?

  • ترد چیست؟ What Is a Thread?

  • مقایسه تردها در برابر پروسس‌ها Threads Versus Processes

  • موازی در برابر همزمان در برابر ناهمگام در برابر غیرمسدودکننده Parallel Versus Concurrent Versus Asynchronous Versus Non-Blocking

  • قانون آم‌دال (Amdahl's Law) Amdahl's Law

مدیریت تردها Thread Management

  • ایجاد ترد Thread Creation

  • اولویات و وضعیت‌های ترد Thread Priorities and States

  • کار با گروه‌های ترد (Thread Groups) Let's Play with Thread Groups

  • تردهای دیمون (Daemon) و تردهای کاربر Daemon Threads and User Threads

  • مدیریت استثنا در تردها Thread Exception Handling

  • متغیرهای Thread Local و شرایط رقابتی (Race Conditions) Thread Local Variables and Race Conditions

  • پروژه: پردازش موازی فایل‌های متنی Project - Parallel Text File Processing

همگام‌سازی تردها - بخش اول Thread Synchronization - Part 1

  • همگام‌سازی ترد چیست؟ What Is Thread Synchronization?

  • کلمه کلیدی Synchronized The Synchronized keyword

  • مجموعه‌های انتظار و اعلان‌ها (تولیدکننده-مصرف‌کننده) Wait Sets and Notifications (Producer Consumer)

  • درک قفل‌ها با مجموع جمع برداری موازی Understanding Locks with Parallel Vector Sum

  • قفل‌های خواندن/نوشتن و اسپین‌لاک‌ها چیستند؟ What Are Read/Write locks and Spin Locks?

  • تولیدکننده-مصرف‌کننده با متغیرهای شرطی Producer Consumer with Condition Variables

  • همگام‌سازی تسک‌ها با سمافورها Let's Synchronize Jobs with Semaphores

همگام‌سازی تردها - بخش دوم Thread Synchronization - Part 2

  • جستجوی موازی در آرایه با CountDownLatch Parallel Array Search with CountDownLatch

  • پردازش ماتریس‌ها با Barrier Crushing Matrixes with Barriers

  • پردازش موازی آرایه با Phaser Parallel Array Processing with Phasers

  • انتقال داده بین تردها با Exchanger Shift Data Between Threads with Exchangers

  • بن‌بست (Deadlock) چیست و چگونه از آن جلوگیری کنیم؟ What Is a Deadlock and How Can We Avoid It?

  • کلمه کلیدی Volatile The Volatile Keyword

  • پروژه: شبیه‌سازی عملیات MapReduce با تردها - بخش اول [Project] - Simulating a MapReduce Job with Threads - Part 1

  • پروژه: شبیه‌سازی عملیات MapReduce با تردها - بخش دوم [Project] - Simulating a MapReduce Job with Threads - Part 2

قابلیت استفاده مجدد از تردها Thread Reusability

  • چرا باید از تردها مجدداً استفاده کنیم؟ Why We Should Reuse Threads

  • معرفی کلاس ThreadPoolExecutor Introducing the ThreadPoolExecutor Class

  • صف‌های کاری برای استخرهای ترد Work Queues for ThreadPools

  • مدیریت استثناها در استخرهای ترد Handling Exceptions in ThreadPools

  • مدیریت تسک‌های رد شده در استخر ترد Managing Rejected Tasks in a ThreadPool

  • مانیتورینگ عملکرد استخر ترد Monitoring the Performance of a ThreadPool

  • زمان‌بندی تسک‌ها با ScheduledThreadPoolExecutor Scheduling Tasks with ScheduledThreadPoolExecutor

  • کار با ForkJoinPools Let's Play with ForkJoinPools

  • ایجاد استخرهای ترد با Executors Creating Thread Pools with Executors

  • نحوه سایزبندی صحیح استخر ترد How to Properly Size a Thread Pool

الگوریتم‌های موازی Parallel Algorithms

  • پیاده‌سازی موازی‌سازی در مرتب‌سازی سریع (Quick Sort) Bringing Parallelism to Quick Sort

  • آیا می‌توان جستجوی باینری را از طریق مالتی‌تریدینگ بهبود بخشید؟ Can We Improve Binary Search Through Multithreading?

  • ضرب موازی ماتریس‌ها - روش ساده Parallel Matrix Multiplication - The Naive Way

  • ضرب موازی ماتریس‌ها - روش بهینه Parallel Matrix Multiplication - The Optimal Way

مسائل مشهور مالتی‌تریدینگ Famous Multithreading Problems

  • مسئله فیلسوفان شام Dining Philosophers Problem

  • مسئله خوانندگان-نویسندگان Readers-Writers Problem

  • مسئله آرایشگر خواب Sleeping Barber Problem

  • مسئله Mutex بدون گرسنگی (No Starve) No-Starve Mutex Problem

مالتی‌تریدینگ در دنیای واقعی Multithreading in the Real World

  • چگونه اتفاقات درون JVM را مشاهده کنیم؟ How Can We See What's Happening Inside a JVM?

  • معرفی فریم‌ورک اسپرینگ بوت (در یک نگاه) Introducing Spring Boot Framework (In a Nutshell)

  • اجرای بارهای کاری ناهمگام در اسپرینگ بوت Running Asynchronous Workloads on Spring Boot

  • معرفی فریم‌ورک RxJava (در یک نگاه) Introducing RxJava Framework (In a Nutshell)

  • ساخت خط لوله‌های داده موازی با RxJava2 Building Parallel Data Pipelines with RxJava2

  • رفع مسدودیت UI از طریق مالتی‌تریدینگ (با JavaFX) Unblocking the UI Through Multithreading (With JavaFX)

نمایش نظرات

آموزش دوره جامع تسلط بر مالتی‌تریدینگ و برنامه‌نویسی موازی در جاوا
جزییات دوره
11h 17m
54
(آخرین آپدیت)
495
- از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده