این دوره در مورد مبانی برنامه نویسی چند رشته ای و همزمان با برخی مفاهیم موازی است. در قرن بیست و یکم، این موضوع با ظهور داده های بزرگ و یادگیری ماشینی محبوبیت بیشتری پیدا می کند. ما مفاهیم سطح پایین مانند 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
از اینکه به دوره من پیوستید متشکریم، بیایید شروع کنیم!
مهندس نرم افزار
نمایش نظرات