golang context package explained: the package that changed concurrency forever

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ย. 2024

ความคิดเห็น • 56

  • @kantancoding
    @kantancoding  6 หลายเดือนก่อน

    Click here to Land Your Dream Job! Become a Microservice Expert With This Hands-On Golang Course 👉 kantancoding.io

    • @thisisreallyme3130
      @thisisreallyme3130 16 ชั่วโมงที่ผ่านมา

      Could someone link the “previous video required viewing?

    • @kantancoding
      @kantancoding  12 ชั่วโมงที่ผ่านมา

      @@thisisreallyme3130 this video is part of a series on Go Concurrency
      th-cam.com/play/PL7g1jYj15RUNqJStuwE9SCmeOKpgxC0HP.html

  • @mouadh4726
    @mouadh4726 29 วันที่ผ่านมา +1

    i came looking to debug a global pointer, found this unrelated subject, you helped me understand a very usefull go routines skill, very concise and not annoying precise to the point explanations. Thank you man 🙏🏼

  • @luvonhealth
    @luvonhealth หลายเดือนก่อน

    Your style of teaching is the best I've ever seen, you can tell you know this stuff instead of regurgutating the documentation like every other channel. I'll buy your microservices course as soon as I can

    • @kantancoding
      @kantancoding  หลายเดือนก่อน

      Hey, thank you so much for your kind words and support! It really motivates me to keep going :)

  • @sarthakjoshi3797
    @sarthakjoshi3797 หลายเดือนก่อน

    thanks for the mini series, really solidified my understanding around concurrency in go. lets GOOOO!

  • @JEREMIAHCoolkat
    @JEREMIAHCoolkat 7 หลายเดือนก่อน +1

    Thanks mate. I've enjoyed your video series on concurrency in GO. Nice and clear explanation. Very helpful. Keep on the good work.

    • @kantancoding
      @kantancoding  7 หลายเดือนก่อน

      Hey! Thanks for the encouragement. I’m glad you enjoyed it 😊

  • @rossthemusicandguitarteacher
    @rossthemusicandguitarteacher 5 หลายเดือนก่อน

    Great teaching I am going to buy the course.

    • @kantancoding
      @kantancoding  5 หลายเดือนก่อน

      Wonderful! I hope it is useful for you 😊

  • @folklinoff
    @folklinoff 8 หลายเดือนก่อน

    Amazingly structured comprehensive video! Thank you very much

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน

      Thank you! Happy to help 😊

  • @inaccessiblecardinal9352
    @inaccessiblecardinal9352 3 หลายเดือนก่อน

    Very well motivated and well explained.

  • @Fr4zn2pirit
    @Fr4zn2pirit 8 หลายเดือนก่อน +1

    Glad you're back to making Go videos man... They're super useful

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน

      Thank you! More to come!

  • @SanjeevKumar-nq8td
    @SanjeevKumar-nq8td 2 หลายเดือนก่อน

    Nicely explained 👏

    • @kantancoding
      @kantancoding  หลายเดือนก่อน

      Thanks for watching 😊

  • @mountainer786
    @mountainer786 4 หลายเดือนก่อน

    really good explanation

  • @LeviElekes
    @LeviElekes 8 หลายเดือนก่อน

    🙏

  • @miningahsean886
    @miningahsean886 4 หลายเดือนก่อน

    This was really good. Thanks

  • @nickernara
    @nickernara 4 หลายเดือนก่อน

    @kantancoding thanks for nice visualisation
    my requirement is that main spawns multiple child (go routines) and
    if some thing goes wrong in any of the child then all child must abort right at the point what ever they are doing now
    and reported back to parent
    is errGroup coupled with context-with-cancel works in this scenario?
    if there exists any existing library it wud be really great, if not wanna make one to help dive deeper

  • @ShadwTrooper
    @ShadwTrooper 7 หลายเดือนก่อน

    Super helpful. Thanks!

    • @kantancoding
      @kantancoding  7 หลายเดือนก่อน

      Happy to help 🙂

  • @Porumb007
    @Porumb007 5 หลายเดือนก่อน

    Good explanation. Do you really need to duplicate the code for ctx cancel handling? Can't you have it in a separate function? Your function naming in the example is kind of bad.

    • @kantancoding
      @kantancoding  5 หลายเดือนก่อน

      Thanks! Happy to help 🙂

  • @sinahassani9880
    @sinahassani9880 6 หลายเดือนก่อน

    This explanation is worth paying time for

    • @kantancoding
      @kantancoding  5 หลายเดือนก่อน

      Thank you! I’m glad it helped 🙂

  • @brandon_wallace
    @brandon_wallace 8 หลายเดือนก่อน

    Excellent!

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน +1

      Glad you liked it!

  • @marioluigi2995
    @marioluigi2995 8 หลายเดือนก่อน +1

    hey man, welcome back, I'll watch your vid.

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน

      Thank you for watching! More to come 😊

  • @FaheemAfridi-n5n
    @FaheemAfridi-n5n 8 หลายเดือนก่อน +1

    Sir upload go tutorial for beginners

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน

      Hmm I have quite a few geared towards beginners. Is there anything specific you want to see?

    • @FaheemAfridi-n5n
      @FaheemAfridi-n5n 8 หลายเดือนก่อน

      @@kantancoding yes, I am beginner in programming. Golang is my first programming language

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน +1

      Introduction to Programming Using Go
      th-cam.com/video/08Blkpo1F8I/w-d-xo.html

  • @jacobgtd2995
    @jacobgtd2995 4 หลายเดือนก่อน

    beast

  • @akash-tj8ru
    @akash-tj8ru 4 หลายเดือนก่อน

    11:40 Did u mean leaf go routines?

  • @aamirshekh934
    @aamirshekh934 7 หลายเดือนก่อน

    can you do a video on ticker package and go sarama package. Both of them doesn't have any good resources on youtube.

    • @kantancoding
      @kantancoding  7 หลายเดือนก่อน

      not sure at the moment but I will keep it in mind! ☺️

  • @dawnrazor
    @dawnrazor 5 หลายเดือนก่อน

    Great video, but what happens when you DO want to cancel a parent context from a child. I have this exact scenario and in this case I pass in the parents cancel to the child gr. this works fine but this seems to be going against the grain. How do you cancel the parent without passing cancel func? What is wrong with this?

    • @kantancoding
      @kantancoding  5 หลายเดือนก่อน +1

      I can’t think of any valid scenario where you’d cancel the parent from a child goroutine. I’d say the fact that you want/need to do this points out a fundamental design flaw in your application.
      I can help more if you tell me WHY you feel it is necessary to cancel the parent from the child.

    • @dawnrazor
      @dawnrazor 5 หลายเดือนก่อน

      @@kantancoding great thanks. I knew it was wrong but I couldn’t figure out how to fix it properly. I have designed a worker pool. The worker pool exposes an optional output channel that the client can read from for results. But if the client doesn’t define a consumer for the channel, then the pool will lockup. So I decided to introduce a feature that would timeout and allow the pool exit gracefully. I do this by allowing the worker to cancel the parent context so the whole pool including other workers to exit gracefully. Only the worker knows when the timeout occurs not the parent. How can I fix this? (gh/snivilised/lorax/boost/issues/68)

    • @kantancoding
      @kantancoding  5 หลายเดือนก่อน

      @@dawnrazorif you’re just using a timeout mechanism, just set the timeout in the context that you pass from the parent to the children using WithTimeout() (I explained how to use it in the video). Hope that helps!

    • @dawnrazor
      @dawnrazor 5 หลายเดือนก่อน

      @@kantancoding hi again, actually I don’t think your approach will work and the reason is this. The worker is running a task and there is no way to know how long the task will take. So what value do you set for the timeout in the parent context. There is no sensible value that you could come up with. And besides, the timer should only start at the point when the worker has attempted to sent to the output channel. Am I wrong about this?

    • @dawnrazor
      @dawnrazor 5 หลายเดือนก่อน +1

      @@kantancoding just wanna say thanks for making me realise that trying to cancel a parent from a child was totally wrong. I’m junking my entire worker pool and starting again with a better design

  • @Alfrednohike9909
    @Alfrednohike9909 8 หลายเดือนก่อน

    hiii, we missed you

    • @kantancoding
      @kantancoding  8 หลายเดือนก่อน

      Hello!! Me too!!

  • @albizutoday2754
    @albizutoday2754 15 วันที่ผ่านมา

    Go is Google

  • @NigelTatschner
    @NigelTatschner 6 หลายเดือนก่อน

    You alllll get a context 😂

  • @rishirajrao5337
    @rishirajrao5337 5 หลายเดือนก่อน

    Honest feedback, it was bit verbose and was lacking clarity unlike other tutorials. Thanks anyway for the effort.

    • @kantancoding
      @kantancoding  5 หลายเดือนก่อน

      Thanks for watching! 🙂