زبان برنامه نویسی C++ را می توان در موضوعات بسیاری دسته بندی کرد. برخی می گویند این یک زبان برنامه نویسی با هدف عمومی است، برخی می گویند یک نسخه شی گرا از C است. اما من دوست داشتم آن را زیر زبان برنامه نویسی سیستم دسته بندی کنم. یکی از ویژگی های هر زبان برنامه نویسی سیستمی از جمله C++ این است که زبان باید در مقایسه با زبان های دیگر مانند جاوا و غیره سریعتر اجرا شود.
پارادایم C++ با معرفی استانداردهای C++11 تغییر زیادی پیدا کرد. بارزترین تفاوت با نسخه قبلی، معرفی مدل حافظه جدید است. مدل حافظه بخش کلیدی هر زبانی است و عملکرد همه عملکردها به مدل حافظه آن زبان بستگی دارد. با مدل جدید حافظه c++، میتوانیم از قدرت فوقالعاده پردازندههای چند هستهای مدرن استفاده کنیم.
برنامه نویسی یک کد C++ مناسب با مکانیسم بازیابی حافظه بهتر کار دشواری است. اما اگر بخواهیم کد ایمن رشته را کدنویسی کنیم که بتواند بر روی پردازندهها تاکید کند، کار بسیار مشکلتری است. در این دوره ما بحث عمیقی در مورد ویژگی های همزمانی C++ از جمله مدل حافظه خواهیم داشت. ما ساختارها و الگوریتم های داده ایمن رشته را پیاده سازی خواهیم کرد، هم به شیوه ای مبتنی بر قفل و هم به شیوه ای بدون قفل. اجرای صحیح ساختارهای داده و الگوریتم های بدون قفل خروجی عملکرد بی سابقه ای را ارائه می دهد. اجازه دهید جنبههای کلیدی را که در این دوره در زیر پوشش میدهیم فهرست کنم.
1. مبانی همزمانی C++ (رشتهها، mutex، package_task، آینده، همگامسازی، وعده)
2. اجرای ایمن ساختارهای داده و الگوریتمهای مبتنی بر رشته را قفل کنید.
مدل حافظه 3.C++.
4. اجرای رایگان ساختارهای داده و الگوریتمها را قفل کنید.
ویژگی های همزمانی 5.C++20.
5. مکانیسم بازیابی حافظه مناسب برای ساختارهای داده بدون قفل.
6. طراحی جنبه های کد همزمان.
7. بحث عمیق در مورد استخرهای نخ.
8. بخش پاداش در برنامه نویسی CUDA با C و C++.
مهندس نرم افزار و بنیانگذار اینتلکت، یکی از بنیانگذاران cpphive
نمایش نظرات