آموزش راهنمای جامع برنامه‌نویسی موازی و همزمان با جاوا - آخرین آپدیت

دانلود Complete Guide to Parallel and Concurrent Programming with Java

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: برنامه‌نویسی موازی توانایی اجرای چندین دستور به‌طور همزمان را به برنامه می‌بخشد، نرخ پردازش کلی را افزایش می‌دهد و کلید نوشتن اپلیکیشن‌های سریع‌تر و بهینه‌تر است. در این دوره، همراه با مدرسان، بارون و اولیویا استون، با مبانی برنامه‌نویسی موازی در جاوا آشنا شوید و دانش بنیادین لازم برای نوشتن کدهای کارآمدتر و با کارایی بالاتر را کسب کنید. بارون و اولیویا مفاهیمی مانند Threading (رشته‌ها) و Mutual Exclusion (انحصار متقابل) را به روشی جذاب و آموزنده و با relating آن‌ها به فعالیت‌های روزمره در آشپزخانه توضیح می‌دهند. برای تثبیت ایده‌ها، آن‌ها این مفاهیم را با استفاده از جاوا به صورت عملی نمایش می‌دهند. هر درس کوتاه و کاربردی است و تئوری‌ها را با تکنیک‌های عملی پیاده‌سازی می‌کند.

سرفصل ها و درس ها

مقدمه Introduction

  • آنچه باید بدانید What you should know

  • جاوا SDK و IntelliJ IDEA Java SDK and IntelliJ IDEA

  • یادگیری مبانی برنامه‌نویسی موازی Learn parallel programming basics

1. سخت‌افزار محاسبات موازی 1. Parallel Computing Hardware

  • محاسبات ترتیبی در مقابل موازی Sequential vs. parallel computing

  • معماری‌های محاسبات موازی Parallel computing architectures

  • حافظه مشترک در مقابل حافظه توزیع شده Shared vs. distributed memory

2. رشته‌ها و فرآیندها 2. Threads and Processes

  • اجرای همزمان در مقابل موازی Concurrent vs. parallel execution

  • رشته دیمون: دموی جاوا Daemon thread: Java demo

  • رشته دیمون (Daemon Thread) Daemon thread

  • چرخه حیات رشته: دموی جاوا Thread lifecycle: Java demo

  • رشته در مقابل فرآیند: دموی جاوا Thread vs. process: Java demo

  • زمان‌بندی اجرا Execution scheduling

  • رابط Runnable در مقابل Thread: دموی جاوا Runnable vs. thread: Java demo

  • زمان‌بندی اجرا در جاوا Execution scheduling: Java

  • چرخه حیات رشته Thread lifecycle

  • ویژگی‌های رشته: دموی جاوا Thread attributes: Java demo

  • رشته در مقابل فرآیند Thread vs. process

3. انحصار متقابل 3. Mutual Exclusion

  • انحصار متقابل (Mutual Exclusion) Mutual exclusion

  • رقابت داده‌ها (Data Race): دموی جاوا Data race: Java demo

  • متغیرهای اتمیک: دموی جاوا Atomic variable: Java demo

  • انحصار متقابل: دموی جاوا Mutual exclusion: Java demo

  • متدهای Synchronized: دموی جاوا Synchronized method: Java demo

  • دستورات Synchronized: دموی جاوا Synchronized statement: Java demo

  • رقابت داده‌ها Data race

4. قفل‌ها 4. Locks

  • قفل بازگشت‌پذیر (Reentrant Lock) Reentrant lock

  • قفل بازگشت‌پذیر: دموی جاوا Reentrant lock: Java demo

  • تلاش برای قفل (Try Lock) Try lock

  • قفل خواندن-نوشتن (Read-Write Lock) Read-write lock

  • قفل خواندن-نوشتن: دموی جاوا Read-write lock: Java demo

  • تلاش برای قفل: دموی جاوا Try lock: Java demo

5. زنده‌مانی (Liveness) 5. Liveness

  • قحطی منابع (Starvation): دموی جاوا Starvation: Java demo

  • قفل رها شده: دموی جاوا Abandoned lock: Java demo

  • قفل زنده (Livelock): دموی جاوا Livelock: Java demo

  • قفل رها شده Abandoned lock

  • قفل زنده Livelock

  • بن‌بست (Deadlock): دموی جاوا Deadlock: Java demo

  • بن‌بست Deadlock

  • قحطی منابع Starvation

6. همگام‌سازی 6. Synchronization

  • تولیدکننده-مصرف‌کننده: دموی جاوا Producer–consumer: Java demo

  • سمافور (Semaphore): دموی جاوا Semaphore: Java demo

  • سمافور Semaphore

  • تولیدکننده-مصرف‌کننده Producer–consumer

  • متغیر شرطی (Condition Variable) Condition variable

  • متغیر شرطی: دموی جاوا Condition variable: Java demo

7. موانع (Barriers) 7. Barriers

  • کلاس CountDownLatch: دموی جاوا CountDownLatch: Java demo

  • مانع (Barrier): دموی جاوا Barrier: Java demo

  • مانع Barrier

  • شرایط رقابتی (Race Condition) Race condition

  • شرایط رقابتی: دموی جاوا Race condition: Java demo

8. تسک‌های ناهمگام 8. Asynchronous Tasks

  • کلاس Future: دموی جاوا Future: Java demo

  • گراف محاسباتی Computational graph

  • استخر رشته‌ها (Thread Pool): دموی جاوا Thread pool: Java demo

  • کلاس Future Future

  • تقسیم و غلبه (Divide and Conquer) Divide and conquer

  • استخر رشته‌ها Thread pool

  • تقسیم و غلبه: دموی جاوا Divide and conquer: Java demo

9. ارزیابی عملکرد موازی 9. Evaluating Parallel Performance

  • اندازه‌گیری افزایش سرعت: دموی جاوا Measure speedup: Java demo

  • قانون آمدال (Amdahl's Law) Amdahl's law

  • افزایش سرعت، تأخیر و نرخ پردازش Speedup, latency, and throughput

  • اندازه‌گیری افزایش سرعت Measure speedup

10. طراحی برنامه‌های موازی 10. Designing Parallel Programs

  • بخش‌بندی (Partitioning) Partitioning

  • ارتباطات Communication

  • تجمعی کردن (Agglomeration) Agglomeration

  • نگاشت (Mapping) Mapping

11. مسائل چالشی 11. Challenge Problems

  • چالش: ضرب ماتریس در جاوا Challenge: Matrix multiply in Java

  • راه حل: ضرب ماتریس در جاوا Solution: Matrix multiply in Java

  • چالش: مرتب‌سازی ادغامی در جاوا Challenge: Merge sort in Java

  • چالش: دانلود تصاویر در جاوا Challenge: Download images in Java

  • خوش‌آمدگویی به بخش چالش‌ها Welcome to the challenges

  • راه حل: دانلود تصاویر در جاوا Solution: Download images in Java

  • راه حل: مرتب‌سازی ادغامی در جاوا Solution: Merge sort in Java

جمع‌بندی Conclusion

  • گام‌های بعدی Next steps

  • منابع تکمیلی Additional resources

نمایش نظرات

آموزش راهنمای جامع برنامه‌نویسی موازی و همزمان با جاوا
جزییات دوره
5h 27m
73
(آخرین آپدیت)
5,880
- از 5
دارد
دارد
دارد
Barron Stone
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Barron Stone Barron Stone

مهندس برق Barron Stone یک مهندس برق است که هم در سخت افزار دیجیتال سطح پایین و هم در نرم افزار سطح بالا تجربه کرده است.

وی لیسانس علوم مهندسی برق خود را از دانشگاه رایس و کارشناسی ارشد خود را در رشته مهندسی برق از نیروی هوایی بدست آورد. موسسه فناوری. او چندین سال را به عنوان مهندس برنامه های کاربردی و مهندس بازاریابی محصول در National Instruments گذراند و در آنجا محتوای بازاریابی و آموزشی را برای ابزارهای مدولار NI FlexRIO مستقر در FPGA توسعه داد. امروز ، بارون به عنوان یک افسر در نیروی هوایی ایالات متحده خدمت می کند.