آموزش همزمانی، Multithreading و محاسبات موازی در جاوا

Concurrency, Multithreading and Parallel Computing in Java

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: برنامه نویسی چند رشته ای و همزمان، محاسبات موازی و MapReduce در جاوا + Fork-Join و Stream API درک همزمانی اولیه درک اصول اولیه multithreading درک پردازش موازی قادر به استفاده از مفاهیم در سناریوهای زندگی واقعی درک مجموعه های همزمان درک همگام سازی و قفل کردن ForkJo درک Framework Understand Stream API پیش نیازها: Basic Java (ارث بری، برنامه نویسی شی گرا)

این دوره در مورد مبانی برنامه نویسی چند رشته ای و همزمان با برخی مفاهیم موازی است. در قرن بیست و یکم، این موضوع با ظهور داده های بزرگ و یادگیری ماشینی محبوبیت بیشتری پیدا می کند. ما مفاهیم سطح پایین مانند threads، synchronization و locks را در نظر خواهیم گرفت. فصل دوم درباره کتابخانه همزمان خواهد بود: البته کلاس‌ها و رابط‌هایی ساخته شده‌اند که می‌توانیم هنگام پیاده‌سازی برنامه‌های چند رشته‌ای از آنها استفاده کنیم. سپس ما برنامه‌های کوچکی را به‌عنوان نمونه‌ای برای چند رشته‌سازی توسعه می‌دهیم: مسئله غذاخوری-فیلسوف و دانش‌آموزان در شبیه‌سازی کتابخانه. فصل آخر درباره محاسبات موازی و MapReduce است.

بخش 1 - نظریه چند رشته ای:

  • نظریه پشت چند رشته ای

  • مزایا و معایب multithreading

  • چرخه زندگی یک نمایش

بخش 2 - دستکاری موضوعات:

  • رشته های شروع (رابط قابل اجرا و کلاس Thread)

  • پیوستن به کلمه کلیدی

  • رشته های شبح

بخش 3 - ارتباطات بین رشته ای:

  • مدیریت حافظه رشته ها

  • همگام سازی و بلوک های همگام سازی شده

  • قفل می کند

  • صبر کنید و اطلاع دهید

  • مشکل و راه حل تولیدکننده-مصرف کننده

  • مجموعه های همزمان

  • چفت، مانع چرخه ای و صف های مسدود کننده

  • صف تاخیر، صف اولویت و نقشه‌های همزمان

بخش 4 - مفاهیم چند رشته ای:

  • کلیدواژه های فرار

  • بن بست ها و بن بست ها

  • semaphores و mutexes

  • مشکل فیلسوفان غذاخوری

  • برنامه کتابخانه

بخش 6 - مجریان و خدمات مجری:

  • مجریان

  • خدمات مجری

بخش 6 - مجموعه‌های همزمان:

  • همگام سازی با مجموعه ها

  • چفت

  • موانع حلقوی

  • صف های تاخیر و اولویت

  • HashMaps همزمان

  • CopyOnWriteArrayLists

بخش 7 - شبیه سازی:

  • مشکل فیلسوفان غذاخوری

  • مشکل کتابخانه

بخش 8 - الگوریتم های موازی:

  • محاسبات موازی چیست

  • مرتب سازی ادغام موازی

  • الگوریتم های موازی

بخش 9 - Fork-Join Framework

  • چارچوب Fork-Join

  • حداکثر یافتن به صورت موازی

بخش 10 - Stream API

  • Stream API با مثال توضیح داده شده است

  • جریانهای متوالی و جریانهای موازی

بخش 11 - BigData و MapReduce:

  • MapReduce چیست

  • چارچوب MapReduce و Fork-Join

از اینکه به دوره من پیوستید متشکریم، بیایید شروع کنیم!


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

معرفی Introduction

  • معرفی Introduction

### چند نخی ### ### MULTITHREADING ###

  • بخش Multithreading Multithreading section

نظریه چند رشته ای Multithreading Theory

  • معرفی فرآیندها و موضوعات Processes and threads introduction

  • الگوریتم زمان برش چیست؟ What is time-slicing algorithm?

  • مزایای چند رشته ای Benefits of multithreading

  • جنبه منفی Multithreading Downside of multithreading

  • چرخه عمر نخ Thread lifecycles

  • آزمون تئوری چند رشته ای Multithreading Theory Quiz

دستکاری نخ ها Threads Manipulation

  • پردازش متوالی Sequential processing

  • موضوعات شروع - قابل اجرا Starting threads - Runnable

  • موضوعات شروع - کلاس موضوع Starting threads - Thread class

  • رابط قابل اجرا و کلاس Thread Runnable interface and Thread class

  • صبر کنید تا رشته ها تمام شوند - بپیوندید Wait for threads to finish - join

  • موضوعات شبح و موضوعات کاربر Daemon threads and user threads

  • اولویت موضوع و زمانبندی موضوع جاوا Thread priority and Java Thread Scheduler

  • آزمون دستکاری موضوعات Threads Manipulation Quiz

ارتباطات بین رشته ای Inter-Thread Communication

  • مدیریت حافظه رشته ها Memory management of threads

  • هماهنگ سازی Synchronization

  • مشکلات همگام سازی Problems with synchronization

  • قفل کردن با اشیاء سفارشی Locking with custom objects

  • قفل های ورود مجدد چیست؟ What are re-entrant locks?

  • صبر کنید و اطلاع دهید Wait and notify

  • تفاوت انتظار و خواب چیست؟ What is the difference between wait and sleep?

  • تولید کننده و مصرف کننده Producer and consumer

  • قفل Locks

  • مصرف کننده تولید کننده با قفل Producer consumer with locks

  • قفل و هماهنگ سازی Locks and synchronization

  • مسابقه ارتباط بین رشته ای Inter-Thread Communication Quiz

مفاهیم چند رشته ای Multithreading Concepts

  • فرار Volatile

  • توقف یک رشته Stopping a thread

  • بن بست و زنده Deadlock and livelock

  • مثال بن بست Deadlock example

  • مثال Livelock Livelock example

  • متغیرهای اتمی Atomic variables

  • سمافورها چیست؟ What are semaphores?

  • موتکس ها و سمافورها Mutexes and semaphores

  • نمونه سمافورها Semaphores example

  • موتکس و سمافور باینری Mutex and binary semaphore

  • مسابقه مفاهیم چند رشته ای Multithreading Concepts Quiz

ایجاد Thread با Executors Creating Threads with Executors

  • چرا از استخرهای نخ استفاده کنیم؟ Why to use thread pools?

  • مثال اجرایی - SingleThreadExecutor Executors example - SingleThreadExecutor

  • مثال اجرایی - FixedThreadPools Executors example - FixedThreadPools

  • مثال اجرایی - ScheduledExecutor Executors example - ScheduledExecutor

  • توقف مجریان Stopping executors

  • رابط Calable و شی Future چیست؟ What is a Callable interface and Future object?

  • نمونه فراخوانی و آینده Callable and future example

  • آزمون مجریان Executors Quiz

مجموعه های همزمان Concurrent Collections

  • چارچوب مجموعه ها چیست؟ What is the collections framework?

  • همگام سازی مجموعه ها Collections synchronization

  • چفت Latch

  • سد چرخه ای Cyclic barrier

  • مسدود کردن صف Blocking queue

  • صف تاخیر Delay queue

  • صف اولویت دار Priority queue

  • نقشه های همزمان Concurrent maps

  • مبدل Exchanger

  • CopyOnWriteArrays CopyOnWriteArrays

  • مسابقه مجموعه های همزمان Concurrent Collections Quiz

تمرین چند رشته ای I - مسئله فیلسوفان غذاخوری Multithreading Exercise I - Dining Philosophers Problem

  • مشکل فلاسفه ناهار خوری I - مشکل Dining philosophers problem I - the problem

  • مسائل فیلسوفان ناهار خوری II - ثابت ها Dining philosophers problems II - constants

  • مشکلات فیلسوفان ناهار خوری III - چاپستیک Dining philosophers problems III - chopstick

  • مشکلات فیلسوفان ناهار خوری چهارم - فیلسوف Dining philosophers problems IV - philosopher

  • مسائل فیلسوفان ناهار خوری V - شروع موضوعات Dining philosophers problems V - starting the threads

  • مشکلات فیلسوفان ناهار خوری VI - اجرای شبیه سازی Dining philosophers problems VI - running the simulation

تمرین چند رشته ای II -مسئله کتابخانه دانش آموزان Multithreading Exercise II -Students Library Problem

  • شبیه سازی کتابخانه دانشجویی I - مشکل Student library simulation I - the problem

  • شبیه سازی کتابخانه دانشجویی II - ثابت Student library simulation II - constants

  • شبیه سازی کتابخانه دانشجویی III - کتاب Student library simulation III - book

  • شبیه سازی کتابخانه دانشجویی چهارم - دانشجو Student library simulation IV - student

  • شبیه سازی کتابخانه دانشجویی V - lock() و tryLock() Student library simulation V - lock() and tryLock()

  • شبیه سازی کتابخانه دانشجویی VI - اجرای شبیه سازی Student library simulation VI - running the simulation

### الگوریتم های موازی ### ### PARALLEL ALGORITHMS ###

  • محاسبات موازی چیست؟ What is parallel computing?

موازی سازی Parallelization

  • مقدمه مرتب سازی ادغام متوالی Sequential merge sort introduction

  • اجرای مرتب سازی ادغام متوالی Sequential merge sort implementation

  • ادغام مرتب سازی و تجسم حافظه پشته Merge sort and stack memory visualization

  • اجرای مرتب سازی ادغام موازی Parallel merge sort implementation

  • مقایسه زمان اجرا پیاده سازی های مرتب سازی ادغام Running time comparison of merge sort implementations

  • مقدمه مسئله جمع Sum problem introduction

  • مسئله جمع - رویکرد متوالی Sum problem - sequential approach

  • مسئله جمع - اجرای موازی Sum problem - parallel implementation

  • مقایسه زمان اجرای عملیات جمع Running time comparison of sum operations

  • آزمون موازی سازی Parallelization Quiz

Fork-Join Framework Fork-Join Framework

  • چارچوب Fork-join چیست؟ What is the Fork-join framework?

  • چارچوب فورک-پیوستن مثال ساده - RecursiveAction Fork-join framework simple example - RecursiveAction

  • تمرین - چاپ اعداد صحیح Exercise - printing integers

  • راه حل - چاپ اعداد صحیح Solution - printing integers

  • چارچوب فورک-پیوستن مثال ساده - RecursiveTask<T> Fork-join framework simple example - RecursiveTask<T>

  • تمرین - اعداد فیبوناچی Exercise - Fibonacci-numbers

  • راه حل - اعداد فیبوناچی Solution - Fibonacci-numbers

  • بهینه سازی موضوع Thread optimization

  • حداکثر یافته - الگوریتم Maximum finding - the algorithm

  • حداکثر یافتن - اجرای برنامه Maximum finding - running the application

  • مرتب سازی ادغام دوباره I Merge sort revisited I

  • مرتب سازی ادغام مجدداً مشاهده شد II Merge sort revisited II

با استفاده از جاوا Stream API Using Java's Stream API

  • Stream API چیست؟ What is the Stream API?

  • جریان با اعداد Streams with numbers

  • جریان با رشته Streams with strings

  • مجموعه ها و جریان ها Collections and streams

  • جریان با اشیاء سفارشی - قسمت 1 Streams with custom objects - part 1

  • جریان با اشیاء سفارشی - قسمت 2 Streams with custom objects - part 2

  • ورزش - فیلتر کردن Exercise - filtering

  • راه حل - فیلتر کردن Solution - filtering

  • تکرار خارجی و داخلی External and internal iteration

  • پردازش فایل ها با استریم ها Processing files with streams

  • اتصال کوتاه و همجوشی حلقه Short-circuiting and loop fusion

  • map() و flatMap() map() and flatMap()

  • تمرین - نقشه برداری Exercise - mapping

  • راه حل - نقشه برداری Solution - mapping

  • اختیاری و سایر مفاهیم مهم Optionals and other important concepts

  • OptionalInt، OptionalFloat و OptionalDouble OptionalInt, OptionalFloat and OptionalDouble

  • allMatch()، noneMatch()، findFirst() و findAny() allMatch(), noneMatch(), findFirst() and findAny()

  • موازی سازی - مثال شماره 1 Parallelization - example #1

  • موازی سازی - مثال شماره 2 Parallelization - example #2

  • موازی سازی - مثال شماره 3 Parallelization - example #3

MapReduce و موازی سازی MapReduce and Parallelization

  • مقدمه MapReduce - مبانی MapReduce introduction - basics

  • مقدمه MapReduce - مثال MapReduce introduction - example

  • MapReduce و Fork-Join MapReduce and Fork-Join

  • امتحان MapReduce MapReduce Quiz

مواد درسی (دانلود) Course Materials (DOWNLOADS)

  • مواد درسی Course materials

نمایش نظرات

آموزش همزمانی، Multithreading و محاسبات موازی در جاوا
جزییات دوره
10.5 hours
110
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
20,695
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Holczer Balazs Holczer Balazs

مهندس نرم افزار