قسمت نوزدهم آموزش
آموزش Channel در Golang
مدیریت همزمانی با Go Channels
من خودم اولین بار سر یه سناریوی واقعی قشنگ با چنل حال کردم.
داشتم روی یه مسئله کار میکردم که باید از روی یه شماره کارت ناقص، به عدد کامل میرسیدم.
50222910******73
ایده این بود که اون ۶ رقم وسط رو حدس بزنم.
اومدم کار رو تقسیم کردم بین ۳ تا goroutine.
هر کدوم یه بازه از اعداد رو بررسی میکرد.
با Channel بینشون ارتباط گذاشتم.
هر goroutine که زودتر به نتیجه میرسید، به بقیه خبر میداد که دیگه ادامه حلقه رو نرن.
روال کار این بود:
ساختن اعداد احتمالی وسط کارت
چک کردن اعتبار کارت با الگوریتم مربوطه
گرفتن SHA256
مقایسه با هشی که بعد از درگاه پرداخت داشتم
بدون salt، کاملاً مستقیم
اونجا بود که فهمیدم Channel فقط برای مثالهای کتابی نیست.
تو کار واقعی، دقیقاً همون چیزیه که goroutineها رو تمیز و قابلکنترل به هم وصل میکنه.
اگه هنوز چنل برات گنگه، این قسمت دقیقاً همون چیزیه که باید ببینی.
لینک آموزش:
https://codehalic.ir/courses/golang/videos/golang-channels-concurrency-guide
@codehalics
Post #229
396

- ❤ 9