گوروتینها (goroutines) و کانالها (channels)
بخشی از دوره Go
برنامهی شما باید بیست فایل را دانلود کند. به شکل معمولی که بنویسیدش، اولی را دانلود میکند، منتظر میماند، دومی را دانلود میکند، منتظر میماند، و همینطور تا آخر. تقریباً تمام آن زمان صرف هیچ کاری نمیشود، فقط انتظار برای شبکهای که میلیونها بار از پردازندهی شما کندتر است. اگر انتظارها روی هم میافتادند، کار بیست برابر زودتر تمام میشد.
انجام چند کار به طور همزمان قدیمیترین مسئلهی سخت برنامهنویسی است و بیشتر زبانها واقعاً دشوارش میکنند. Go دور همین موضوع طراحی شده، و این همان درسی است که آن طراحی خودش را نشان میدهد. دو ایده به شما میرسد. گوروتین (goroutine) تکهای از برنامهی شماست که در کنار بقیهاش اجرا میشود. کانال لولهای است برای رد کردن مقدارها از یک گوروتین به گوروتین دیگر، به شکلی امن، بیآنکه لازم باشد خودتان قفلی ترتیب دهید. ...
میخواهی Go گوروتینها (goroutines) و کانالها (channels) را در یک محیط واقعی یاد بگیری؟
روی دکمه زیر بزن تا یک ماشین لینوکس با Go آماده دریافت کنی و گوروتینها (goroutines) و کانالها (channels) را بهصورت عملی با یک مربی هوشمند که کدت را میشناسد تمرین کنی.
شروع این درسگوروتینها (goroutines) و کانالها (channels)چه چیزهایی یاد میگیری
- The go keyword
- Goroutine lifetime
- Unbuffered channels
- Buffered channels
- Send and receive
- Range over channel
- Close a channel
این درس را به زبان خودت بخوان
همهٔ درسهای این دوره
20 درس- 1سلام، گو25 دقیقه
- 2متغیرها و انواع داده25 دقیقه
- 3کنترل جریان: if و for30 دقیقه
- 4توابع30 دقیقه
- 5اسلایسها (slices) و مپها (maps)35 دقیقه
- 6استراکتها (structs) و پوینترها (pointers)35 دقیقه
- 7متدها (methods) و اینترفیسها (interfaces)35 دقیقه
- 8مدیریت خطا35 دقیقه
- 9ماژولها (modules) و ساختار پروژه35 دقیقه
- 10پروژه نهایی CLI کوچک40 دقیقه
- 11گشتی در کتابخانه استاندارد40 دقیقه
- 12آزمایش و بنچمارکها (benchmarks)40 دقیقه
- 13گوروتینها (goroutines) و کانالها (channels)40 دقیقه
- 14الگوهای همزمانی45 دقیقه
- 15جنریکها (generics)35 دقیقه
- 16سرورهای HTTP45 دقیقه
- 17پایگاههای داده با database/sql45 دقیقه
- 18عملکرد و پروفایلسازی40 دقیقه
- 19الگوهای طراحی در Go40 دقیقه
- 20استقرار و محیط تولید45 دقیقه
