دوره آموزشی
دوبله زبان فارسی
همزمانی و Multithreading در جاوا: از مبتدی تا متوسط
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- یک بررسی سطح بالا از مدیریت پردازه توسط سیستمعامل
- یک بررسی سطح بالا از مدیریت thread توسط سیستمعامل
- تفاوت اساسی بین یک پردازه و یک thread
- چگونگی تعریف یک thread با استفاده از روش زیرکلاسسازی Thread
- چگونگی تعریف یک thread با پیادهسازی رابط Runnable
- حالتهای مختلف یک thread و چرخه عمر آن
- چگونگی شروع threadها با استفاده از متد ()start و ExecutorService
- استراتژی استفاده مجدد از threadها که توسط ExecutorService به کار گرفته میشود
- چگونگی تعریف یک thread با پیادهسازی رابط Callable
- چگونگی استفاده از رابط Future به روشهای مسدودکننده و غیرمسدودکننده
- کاربرد threadهای daemon
- چگونگی عملکرد متدهای ()join. و ()interrupt. در Thread
- مفهوم data race و جزئیات آن
- چگونگی استفاده از کلیدواژه 'volatile' برای جلوگیری از data race
- مفهوم mutex / intrinsic lock / monitor
- مفهوم race condition و جزئیات آن
- چگونگی استفاده از کلیدواژه 'synchronized' برای پیادهسازی تصاحب mutex/monitor در جاوا
- مفهوم دستورالعمل compare-and-swap در CPU
- یک بررسی سطح بالا از بسته atomics جاوا و ارتباط آن با compare-and-swap
- چگونگی استفاده از کلاس AtomicInteger برای جلوگیری از race condition در عملیات حسابی
- کاربرد کلاس ThreadLocal در جاوا
- چگونگی گرفتن thread dump از پردازه JVM
- چگونگی استفاده از متد ()parallelStream. در Java Streaming API
توضیحات دوره
بیاموزید چگونه اپلیکیشن هایی بنویسید که با موازیسازی محاسبات و اجتناب از چرخههای بیکار با استفاده از همزمانی و multithreading در جاوا، از قدرت پردازنده به طور کامل بهره ببرند. در این دوره، مدرس هر دو مفهوم پشت multithreading و همزمانی را با مثالهای دنیای واقعی پوشش میدهد و مثالهای کدنویسی عملی ارائه میکند که چگونگی استفاده از قابلیتهای ارائه شده توسط JDK را نشان میدهد.
تا پایان این دوره، شما:
- مفاهیم پردازهها و threadها در سیستمعاملها را درک کرده و قادر به تمایز بین این دو خواهید بود.
- threadها را در جاوا با استفاده از Thread، Runnable و Callable تعریف خواهید کرد.
- با حالتهای thread در جاوا و چرخه عمر thread آشنا خواهید بود.
- راههای مختلف شروع threadها، از جمله استفاده از start() ،ExecutorService. و قابلیتهای ()parallelStream. را خواهید دانست.
- مفهوم پشت استراتژی استفاده مجدد از thread ExecutorService را درک خواهید کرد.
- هر دو مکانیزم مسدودکننده و غیرمسدودکننده برای کار با رابط Future را درک خواهید کرد.
- درباره threadهای daemon یاد خواهید گرفت.
- قادر به استفاده از قابلیتهای ()join. و interrupt() thread. خواهید بود.
- مفهوم data race و چگونگی کاهش آن با استفاده از کلیدواژه volatile را درک خواهید کرد.
- با مفهوم race condition و استراتژی mutex برای کاهش آن آشنا خواهید بود.
- چگونگی نوشتن کد جاوا با استفاده از کلیدواژه synchronized برای پیادهسازی پارادایم mutex را خواهید دانست.
- دستورالعمل compare-and-swap پردازنده و چگونگی استفاده از آن در بسته atomics جاوا را درک خواهید کرد.
- زمان و چگونگی استفاده از AtomicInteger را خواهید دانست.
- درباره کلاس ThreadLocal یاد خواهید گرفت.
- قادر به گرفتن thread dump از پردازه JVM خواهید بود.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان مبتدی جاوا بدون تجربه قبلی در multithreading
- توسعهدهندگان متوسط و پیشرفته جاوا که به دنبال درک عمیقتری از مفاهیم اولیه پشت multithreading هستند.
- توسعهدهندگانی که از زبانی دیگر به جاوا نقل مکان میکنند و قصد نوشتن کد multithreading دارند.
- حرفهایهایی که برای مصاحبههای multithreading جاوا در سطح مبتدی تا متوسط آماده میشوند.
همزمانی و Multithreading در جاوا: از مبتدی تا متوسط
-
مقدمه 01:36
-
پیشنیازها و ابزارها 01:32
-
همزمانی (Concurrency) 02:52
-
موازیسازی 01:58
-
CPU 03:35
-
پردازه کامپیوتر 09:58
-
سیستمهای چند هستهای و چند پردازندهای 04:05
-
Threads 07:09
-
تعاریف Thread در جاوا 10:09
-
چرخه عمر Thread 06:10
-
شروع Threadها 11:30
-
مفهوم ExecutorService 06:22
-
فناوری دنیای واقعی و ExecutorService 04:27
-
ExecutorService در عمل 14:49
-
مفاهیم Callable و Future 07:14
-
ارسال Callable 06:22
-
Threadهای Daemon 08:43
-
join و interrupt 13:19
-
Atomicity 08:36
-
CPU با N بیت 08:22
-
خواندن و نوشتن متغیر 09:40
-
Data race 06:20
-
volatile و happens-before 04:15
-
Race condition 10:04
-
نیاز به همگامسازی 10:47
-
انحصار متقابل 06:42
-
synchronized 12:29
-
حالت مسدود 05:06
-
متدهای synchronized 05:11
-
Compare-and-swap 11:05
-
بسته atomics و AtomicInteger 06:55
-
نکات و ترفندها 07:51
-
بخش اضافی: پایان 00:47
مشخصات آموزش
همزمانی و Multithreading در جاوا: از مبتدی تا متوسط
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:مقدماتی
- تعداد درس:33
- مدت زمان :03:56:00
- حجم :1.83GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy