آموزش همزمانی، 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 و محاسبات موازی در جاوا
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
10.5 hours
110
Udemy (یودمی) udemy-small
27 آبان 1401 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
20,695
4.5 از 5
دارد
دارد
دارد

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Holczer Balazs Holczer Balazs

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

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

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