توضیحات
آموزش مبانی چندریسمانی (Multithreading) و برنامه نویسی همزمان در جاوا
نام دوره : Concurrency, Multithreading and Parallel Computing in Java
پیش نیاز:
- آشنایی اولیه با جاوا (مبانی ارثبری و برنامهنویسی شیگرا)
توضیحات
این دوره به مبانی چندریسمانی (Multithreading) و برنامهنویسی همزمان (Concurrent Programming) با برخی مفاهیم محاسبات موازی میپردازد.
در قرن ۲۱، با ظهور کلاندادهها (Big Data) و یادگیری ماشین (Machine Learning)، این موضوع اهمیت بسیاری پیدا کرده است.
در این دوره مفاهیم سطح پایین همچون ریسمانها (Threads)، همگامسازی (Synchronization) و قفلها (Locks) را بررسی میکنیم.
در فصل دوم با کتابخانههای همزمان جاوا آشنا میشوید؛ جاوا کلاسها و واسطهای داخلی متعددی برای پیادهسازی برنامههای چندریسمانی فراهم کرده است.
همچنین پروژههای کوچکی مانند مسئله فیلسوفان غذاخور و شبیهسازی دانشجویان در کتابخانه را توسعه میدهیم. در نهایت، محاسبات موازی و مدل MapReduce را بررسی خواهیم کرد.
سرفصلهای دوره آموزش مبانی چندریسمانی (Multithreading) و برنامه نویسی همزمان در جاوا
بخش ۱ – نظریه چندریسمانی:
- نظریه پشت چندریسمانی
- مزایا و معایب چندریسمانی
- چرخه زندگی یک ریسمان
بخش ۲ – مدیریت ریسمانها:
- شروع ریسمانها (واسط Runnable و کلاس Thread)
- کلیدواژه
join
- ریسمانهای پسزمینه (Daemon Threads)
بخش ۳ – ارتباط بین ریسمانها:
- مدیریت حافظه ریسمانها
- همگامسازی و بلوکهای همگامشده
- قفلها
wait
وnotify
- مسئله تولیدکننده-مصرفکننده و راهحل آن
- مجموعههای همزمان
- Latch، Cyclic Barrier و Blocking Queue
- صفهای تأخیری (Delay Queue)، صفهای اولویتی (Priority Queue) و نقشههای همزمان (Concurrent Maps)
بخش ۴ – مفاهیم چندریسمانی:
- کلمه کلیدی
volatile
- بنبستها (Deadlocks) و شبهبنبستها (Livelocks)
- Semaphore و Mutex
- مسئله فیلسوفان غذاخور
- شبیهسازی کتابخانه
بخش ۵ – اجراکنندهها و سرویسهای اجرا:
- استفاده از Executors
- آشنایی با ExecutorServices
بخش ۶ – مجموعههای همزمان:
- همگامسازی با مجموعهها
- Latches
- Cyclic Barriers
- صفهای تأخیری و اولویتی
- Concurrent HashMaps
- CopyOnWriteArrayLists
بخش ۷ – شبیهسازیها:
- مسئله فیلسوفان غذاخور
- مسئله کتابخانه
بخش ۸ – الگوریتمهای موازی:
- محاسبات موازی چیست؟
- مرتبسازی ادغامی موازی (Parallel Merge Sort)
- الگوریتمهای موازی
بخش ۹ – چارچوب Fork-Join:
- معرفی چارچوب Fork-Join
- پیدا کردن مقدار بیشینه به روش موازی
بخش ۱۰ – Stream API:
- توضیح Stream API با مثالها
- جریانهای ترتیبی (Sequential Streams) و موازی (Parallel Streams)
بخش ۱۱ – ریسمانهای مجازی:
- آشنایی با ریسمانهای پلتفرمی و ریسمانهای مجازی
- ایجاد و مدیریت ریسمانهای مجازی
- StructuredTaskScope و Subtask
- مفهوم Delimited Continuation
بخش ۱۲ – کلانداده و MapReduce:
- معرفی MapReduce
- ترکیب MapReduce با چارچوب Fork-Join
دوره آموزش مبانی چندریسمانی (Multithreading) و برنامه نویسی همزمان در جاوا برای چه کسانی است:
- این دوره برای دانشجویانی مناسب است که میخواهند تسلط خوبی بر چندریسمانی در جاوا پیدا کنند یا نیاز به مرور سریع مفاهیم دارند.
یودمی ایران –
دوره درخواستی خود را از راه های ارتباطی درخواست کنید