توضیحات
آموزش پردازش موازی در Go – آموزش پردازش چند رشته ای – آموزش Multithreading در go
نام دوره : Mastering Multithreading Programming with Go (Golang)
دوره به روز رسانی شد (اضافه شدن قسمت Spinning Logs)
پیش نیاز:
- دانش کلی از برنامه نویسی در Go (اگر نحوه استفاده از توابع ، حلقه ها ، آرایه ها و کمی اشاره گر را بدانید کافی است).
- آخرین نسخه Go نصب شده باشد.
توضیحات آموزش پردازش موازی در Go با داستانی جالب:
حال و هوای جلسه در طبقه دوازدهم یک بانک سرمایه گذاری بین المللی تیره و تار بود. توسعه دهندگان این شرکت برای بحث در مورد بهترین راه پیش رو پس از شکست یک برنامه هسته ای حیاتی و ایجاد اختلال گسترده در سیستم ، ملاقات می کنند.
“بچه ها ، ما در اینجا یک مشکل جدی داریم. من متوجه شدم که این خاموشی ناشی از Race Condition در کد ماست که چندی پیش بحث آن شد. و دیشب ایجاد شد.” مارک آدامز ، توسعه دهنده ارشد می گوید.
اتاق ساکت می شود. اتومبیل های خارج از پنجره های کف تا سقف در ترافیک سنگین شهر به آرامی و بی صدا می خزند. توسعه دهندگان ارشد بلافاصله شدت بحرانی وضعیت را درک می کنند .و متوجه می شوند که آنها اکنون به طور شبانه روزی برای رفع مشکل و رفع آشفتگی در پایگاه داده کار خواهند کرد. توسعه دهندگان کم تجربه می دانند که Race Condition جدی است اما دقیقاً نمی دانند چه چیزی باعث آن می شود . بنابراین دهان خود را بسته نگه می دارند.
سرانجام برایان هولمز ، مدیر تحویل ، سکوت را با “برنامه ماهها بدون هیچ مشکلی اجرا می شد ، ما اخیراً هیچ تغییری در کد نداده ایم .چگونه ممکن است نرم افزار خراب شده باشد؟”
همه سرشان را تکان می دهند. و به پشت میز خود برمی گردند و برایان را گیج و تنها در اتاق می گذارند. او تلفنش را بیرون می آورد و “Race Condition” را گوگل می کند.
آشنا بنظر رسید؟ چند بار شنیده اید که یک توسعه دهنده دیگر در مورد استفاده از موضوعات و برنامه نویسی همزمان برای حل یک مشکل خاص صحبت کرده باشد اما از ترس از بحث خارج شده اید؟
آموزش پردازش چند رشته ای ( آموزش Multithreading در go):
در اینجا این راز کوچکی است که توسعه دهندگان ارشد هرگز آن را به اشتراک نمی گذارند … برنامه نویسی چند رشته ای سخت تر از برنامه نویسی معمولی نیست. توسعه دهندگان از برنامه نویسی همزمان می ترسند زیرا فکر می کنند این یک موضوع پیشرفته است که فقط توسعه دهندگان با تجربه می توانند با آن بازی کنند.
این از واقعیت دور است. ذهن ما بسیار به معامله همزمان عادت کرده است. در واقع ما این کار را در زندگی روزمره خود بدون هیچ مشکلی انجام می دهیم . یکی از دلایل این امر این است که ما با مفاهیم و ابزارهای موجود برای مدیریت این همزمانی آشنا نیستیم. این دوره در اینجا به شما کمک می کند تا نحوه استفاده از ابزارها و مفاهیم چند رشته ای را برای مدیریت برنامه نویسی موازی خود درک کنید. طراحی شده است تا حد امکان کاربردی باشد. ما با تئوری پیرامون پردازش موازی در Go شروع می کنیم. سپس نحوه عملکرد سیستم عامل در چندین فرایند و thread را توضیح می دهیم. بعداً با حل مشکلات نمونه با استفاده از چند رشته ای ، ابزارهای متعدد موجود را توضیح می دهیم.
در این دوره ما از زبان برنامه نویسی Google Go با گوروتین های آن استفاده می کنیم ، اما مفاهیم یاد گرفته شده در اینجا می تواند در اکثر زبان های برنامه نویسی کاربرد داشته باشد.
همه کد های این دوره را می توانید در github ، نام کاربری/پروژه: cutajarj/multithreadingingo پیدا کنید
دوره آموزش پردازش موازی در Go برای چه کسانی است:
- توسعه دهندگانی که می خواهند با ارتقای مهارت های خود و یادگیری برنامه نویسی همزمان چند رشته ای .(multi-threading) ، حرفه خود را به سطح بعدی برسانند.
- دانش آموزان کالج که در حال حاضر در حال یادگیری در مورد پردازش موازی هستند. که می خواهند ببینند چگونه مفاهیم آموخته شده در کلاس با دنیای واقعی ارتباط دارند.
- توسعه دهندگان باتجربه ای که اخیراً کار با Go را آغاز کرده اند. و می خواهند ابزارهای چند رشته ای موجود را کشف کنند و آموزش Multithreading در go را ببینند.
یودمی ایران –
دوره در خواستی خود را از راه های ارتباطی در خواست کنید