کتاب اصول برنامه‌نویسی همزمان با الهام از مفاهیم سوکت در C++ با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

249,950 تومان
پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره اصول برنامه‌نویسی همزمان با الهام از مفاهیم سوکت در C++

موضوع کلی: مهندسی نرم‌افزار و برنامه‌نویسی پیشرفته

موضوع میانی: همزمانی و پردازش موازی در C++

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر برنامه‌نویسی همزمان در C++
  • 2. مفاهیم پایه سوکت در شبکه‌های کامپیوتری
  • 3. کاربرد سوکت در ارتباطات دوطرفه
  • 4. مدل‌های ارتباطی سوکت (TCP و UDP)
  • 5. انتقال داده با سوکت‌های TCP
  • 6. انتقال داده با سوکت‌های UDP
  • 7. محدودیت‌های سوکت و نیاز به رویکردهای موازی
  • 8. مبانی پردازش موازی
  • 9. تفاوت بین همزمانی و موازی‌سازی
  • 10. نخ‌ها (Threads) در C++
  • 11. ایجاد و مدیریت نخ‌ها
  • 12. همگام‌سازی نخ‌ها
  • 13. قفل‌ها (Mutexes) و کاربرد آن‌ها
  • 14. شرایط (Condition Variables) برای ارتباط نخ‌ها
  • 15. کلاس `std::thread` در C++
  • 16. توابع و اعضای `std::thread`
  • 17. کار با `std::mutex`
  • 18. استفاده از `std::lock_guard`
  • 19. استفاده از `std::unique_lock`
  • 20. مفهوم `std::condition_variable`
  • 21. الگوهای طراحی همزمان
  • 22. الگوی تولیدکننده-مصرف‌کننده (Producer-Consumer)
  • 23. پیاده‌سازی الگوی تولیدکننده-مصرف‌کننده با صف
  • 24. استفاده از صف‌های همزمان (Thread-Safe Queues)
  • 25. الگوی Pool نخ (Thread Pool)
  • 26. مدیریت وظایف در Thread Pool
  • 27. کتابخانه‌های همزمانی در C++
  • 28. `std::async` و `std::future`
  • 29. استفاده از `std::packaged_task`
  • 30. موازی‌سازی مبتنی بر داده (Data Parallelism)
  • 31. موازی‌سازی مبتنی بر وظیفه (Task Parallelism)
  • 32. کلاس `std::atomic` برای عملیات اتمیک
  • 33. عملیات اتمیک در C++
  • 34. محدودیت‌های عملیات اتمیک
  • 35. استفاده از `std::atomic_flag`
  • 36. موازی‌سازی در سطح بالا با الگوی TPL
  • 37. استفاده از الگوی TPL در C++
  • 38. مدیریت خطا در برنامه‌های همزمان
  • 39. استثناها در نخ‌ها
  • 40. موازی‌سازی با استفاده از کتابخانه OpenMP
  • 41. دستورات OpenMP برای موازی‌سازی حلقه‌ها
  • 42. دستورات OpenMP برای موازی‌سازی وظایف
  • 43. موازی‌سازی با استفاده از کتابخانه MPI
  • 44. مفاهیم پایه MPI
  • 45. ارسال و دریافت پیام در MPI
  • 46. موازی‌سازی با استفاده از CUDA (مقدماتی)
  • 47. مفاهیم پایه CUDA
  • 48. برنامه‌نویسی GPU با CUDA
  • 49. مدیریت حافظه در CUDA
  • 50. الگوهای موازی‌سازی در C++11 و بالاتر
  • 51. استفاده از `std::call_once`
  • 52. مقایسه `std::mutex` و `std::lock_guard`
  • 53. مقایسه `std::condition_variable` و `std::promise`/`std::future`
  • 54. الگوی Singleton همزمان
  • 55. پیاده‌سازی Singleton همزمان با `std::call_once`
  • 56. پیاده‌سازی Singleton همزمان با `std::mutex`
  • 57. الگوی Observer همزمان
  • 58. مدل‌های همزمانی در سیستم‌عامل
  • 59. مدیریت فرآیندها و نخ‌ها
  • 60. زمان‌بندی نخ‌ها (Thread Scheduling)
  • 61. بن‌بست (Deadlock) در برنامه‌های همزمان
  • 62. تشخیص بن‌بست
  • 63. پیشگیری از بن‌بست
  • 64. راهکار مقابله با بن‌بست
  • 65. مسابقه داده (Data Race)
  • 66. روش‌های جلوگیری از Data Race
  • 67. اشکال‌زدایی (Debugging) برنامه‌های همزمان
  • 68. ابزارهای اشکال‌زدایی همزمان
  • 69. تست برنامه‌های همزمان
  • 70. معیارهای عملکرد در برنامه‌های همزمان
  • 71. مقیاس‌پذیری (Scalability)
  • 72. بهینه‌سازی برنامه‌های همزمان
  • 73. تکنیک‌های بهینه‌سازی نخ‌ها
  • 74. تکنیک‌های بهینه‌سازی حافظه
  • 75. استفاده از الگوی Active Object
  • 76. پیاده‌سازی الگوی Active Object
  • 77. الگوی Monitor
  • 78. مقایسه الگوی Monitor با Mutex و Condition Variable
  • 79. الگوی Double-Checked Locking (با احتیاط)
  • 80. ملاحظات امنیتی در برنامه‌های همزمان
  • 81. حفاظت از داده‌های حساس
  • 82. استفاده از الگوی Command
  • 83. مدیریت صف دستورات در برنامه‌های همزمان
  • 84. الگوهای همزمانی در معماری‌های مدرن
  • 85. میکروسرویس‌ها و همزمانی
  • 86. برنامه‌نویسی ناهمزمان (Asynchronous Programming)
  • 87. مفاهیم پایه برنامه‌نویسی ناهمزمان
  • 88. استفاده از `coroutine` در C++20 (مقدماتی)
  • 89. مدیریت خطا در Coroutines
  • 90. الگوهای ناهمزمان
  • 91. برنامه‌نویسی توزیع‌شده و همزمانی
  • 92. مفاهیم پایه سیستم‌های توزیع‌شده
  • 93. همگام‌سازی در سیستم‌های توزیع‌شده
  • 94. موازی‌سازی در پردازش داده‌های بزرگ
  • 95. پایگاه داده‌های توزیع‌شده و همزمانی
  • 96. ملاحظات پیاده‌سازی عملی
  • 97. انتخاب ابزار مناسب برای همزمانی
  • 98. مدیریت منابع در برنامه‌های همزمان
  • 99. بررسی عمیق‌تر الگوی Producer-Consumer
  • 100. بررسی عمیق‌تر الگوی Thread Pool
تگ‌ها: برنامه‌نویسی پیشرفته C++ برنامه‌نویسی همزمان C++ پردازش موازی C++ شبکه‌سازی C++ مفاهیم سوکت همزمانی در C++

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.