توضیحات
آموزش و کار پروژه محور Concurrency در زبان Golang
نام دوره : Working with Concurrency in Go (Golang)
به روزرسانی 5/2022 با کیفیت 1080 تهیه شده رسمی یودمی ایران
پیش نیاز:
- درک خوب از زبان برنامه نویسی Go
- یک کامپیوتر ویندوز، مکینتاش یا لینوکس با اتصال به اینترنت
توضیحات:
Go، که اغلب با نام Golang شناخته می شود، به دلیل آسان کردن کار با همزمانی بسیار معروف است.
به منظور اجرای همزمان یک تابع خاص، تنها کاری که باید انجام دهیم این است که کلمه “go” را به فراخوانی تابع اضافه کنیم، و در پس زمینه به صورت یک GoRoutine اجرا شود.
برنامههای زمانبندی داخلی Go برای اطمینان از اینکه GoRoutine معین در زمانی که باید اجرا میشود و تا آنجا که میتواند کارآمد است.
با این حال، این بدان معنا نیست که کار با همزمانی در Go ساده است—برنامهنویسی ایمن Thread به برنامهریزی دقیق نیاز دارد و مهمتر از همه مستلزم آن است که توسعهدهندگان درک کاملی از نحوه برخورد Go با همزمانی داشته باشند.
در کتابخانه استاندارد، Go به ما چندین راه را برای برخورد با بخشهای در حال اجرا همزمان برنامهمان، درست در کتابخانه استاندارد، به ما ارائه میدهد: sync.WaitGroup ، که به ما اجازه میدهد تا پایان کارها منتظر بمانیم.
همگام سازی . و در نهایت، کانال ها، که به GoRoutines اجازه می دهد تا داده ها را به و از یکدیگر ارسال و دریافت کند.
رویکرد Go به همزمانی نسبتاً ساده است و کم و بیش این عبارت را خلاصه میکند:
با اشتراک حافظه ارتباط برقرار نکنید. در عوض، حافظه را با برقراری ارتباط به اشتراک بگذارید. کانالها وسیلهای هستند که معمولاً از طریق برقراری ارتباط، حافظه را به اشتراک میگذاریم.
در این دوره، استفاده از WaitGroups، Mutexes و Channels را پوشش خواهیم داد و این کار را با جزئیات انجام خواهیم داد.
ما همچنین برخی از مشکلات ذاتی همزمانی، از جمله خاتمه زودهنگام برنامه و race condition را پوشش خواهیم داد.
در ابتدا، با حل برخی از مشکلات کلاسیک موجود در زمینه علوم کامپیوتر، از جمله Dining Philosophers ، مشکل تولیدکننده/مصرفکننده ، و Sleeping Barber ، درک خوبی از نحوه کار این چیزها به دست خواهیم آورد .
این مشکلات به یک دلیل کلاسیک هستند: آنها یک توسعه دهنده را مجبور می کنند تا بهترین رویکرد را برای کار با کدهایی که همزمان یا به صورت موازی اجرا می شوند، بیابد.
در نهایت، ما دوره آموزش و کار پروژه محور Concurrency در زبان Golang را با یک مشکل “در دنیای واقعی” به پایان خواهیم رساند،
جایی که باید مشتری را برای نوعی خدمات اشتراک ثبت نام کنیم و از صورتحساب، ثبت نام و همه موارد لازم برای دریافت یک سرویس جدید مراقبت کنیم.
ما این کار را به طور طبیعی و با تقسیم وظایف ضروری به وظایف کوچکتر و اجرای همزمان آنها به سرعت انجام خواهیم داد.
دوره آموزش و کار پروژه محور Concurrency در زبان Golang برای چه کسانی است:
برنامه نویسانی که می خواهند بدانند Go با برنامه نویسی همزمان چگونه کار می کند
بخشی از دوره :
یودمی ایران –
دوره درخواستی خود را از راه های ارتباطی درخواست کنید
یودمی ایران –
دوره درخواستی خود را از راه های ارتباطی در خواستی کنید
Saleh Ghazimoradi –
با سلام اگه امکانش هست این دوره را اپدیت نمایید. تشکر
یودمی ایران –
سلام عرض شد
بررسی می شه در صورتی که محتوای جدیدی اضافه شده باشه حتما