دوره آموزشی
The Great Courses
دوبله زبان فارسی

همزمانی و Multithreading در جاوا: از مبتدی تا متوسط

همزمانی و 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

2,344,000 586,000 تومان

مشخصات آموزش

همزمانی و Multithreading در جاوا: از مبتدی تا متوسط

  • تاریخ به روز رسانی: 1405/04/02
  • سطح دوره:مقدماتی
  • تعداد درس:33
  • مدت زمان :03:56:00
  • حجم :1.83GB
  • زبان:دوبله زبان فارسی
  • دوره آموزشی:AI Academy

آموزش های مرتبط

  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
2,260,000 452,000 تومان
  • زمان: 03:02:02
  • تعداد درس: 14
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
795,000 159,000 تومان
  • زمان: 58:00
  • تعداد درس: 12
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
19,403,000 3,880,600 تومان
  • زمان: 26:02:40
  • تعداد درس: 175
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
8,508,000 1,701,600 تومان
  • زمان: 11:25:13
  • تعداد درس: 94
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
1,833,000 366,600 تومان
  • زمان: 02:27:39
  • تعداد درس: 24
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
6,100,500 1,220,100 تومان
  • زمان: 08:11:21
  • تعداد درس: 28
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
7,256,500 1,451,300 تومان
  • زمان: 09:44:25
  • تعداد درس: 67
  • سطح دوره:
  • زبان: دوبله فارسی
The Great Courses
3,634,500 726,900 تومان
  • زمان: 04:52:43
  • تعداد درس: 38
  • سطح دوره:
  • زبان: دوبله فارسی

آیا سوالی دارید؟

ما به شما کمک خواهیم کرد تا شغل و رشد خود را افزایش دهید.
امروز با ما تماس بگیرید