Non-blocking I/O and how Node uses it, in friendly terms: blocking vs async IO, CPU vs IO

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.พ. 2025

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

  • @amstud
    @amstud 3 ปีที่แล้ว +117

    This is easily the best programming video I've ever seen. You took a subtle and tricky concept (one which I suspect most software engineers don't actually understand), and explained it simply enough that a child could understand. Not to mention excellent production values. Super excited to have found this channel, and I can't wait to see what you make next!

    • @faraitanekha2642
      @faraitanekha2642 3 ปีที่แล้ว +2

      No need for me to leave a comment, then. You've said it perfectly my friend 👍😁

    • @lauraablitt6379
      @lauraablitt6379 2 ปีที่แล้ว

      10000%. Honestly great video - thank you

    • @sumatepanich-xo6nx
      @sumatepanich-xo6nx 5 หลายเดือนก่อน

      2:10

  • @iganic7574
    @iganic7574 10 หลายเดือนก่อน +2

    Great explanation , finally I understood what is non blocking I/O .
    🙌

  • @fourteensierra
    @fourteensierra 3 ปีที่แล้ว +42

    Thought you did a fantastic job explaining Non-blocking I/O. I was super bummed when I saw you only had two other videos. Makes some more vids!!!

  • @LyadhKhorEngineer
    @LyadhKhorEngineer 3 ปีที่แล้ว +23

    Great video. Cleared up a lot of confusion regarding how javascript works as a single threaded server. 👍🏼

  • @ninthsun
    @ninthsun 2 ปีที่แล้ว +1

    Seriously, this video should be the must for every beginner learning nodejs. Super important concept, but in super easy words and animations.

  • @jordanbtucker
    @jordanbtucker 3 ปีที่แล้ว +11

    Loved the analogies and animations!

  • @avgsteve
    @avgsteve 3 ปีที่แล้ว +2

    This is how the knowledge should be taught. Thanks for sharing

  • @sepg6266
    @sepg6266 3 ปีที่แล้ว +6

    Great job
    One suggestion: try a background video with less volume, no lyrics (human sound), and slower beats. That music is not just supposed to make the viewer excited or attracted, just makes it a lill colorful. Thanks

  • @flucksy119
    @flucksy119 3 ปีที่แล้ว +1

    i think this is the best computer science video ive ever watched with regards to visually understanding due to the graphics

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

    Just what I needed. Thanks mehn

  • @RebienKani
    @RebienKani 3 ปีที่แล้ว +10

    Dude amazing video and excellent job on explaining this topic because it was true hassle for me too understand. Just a couple of tips for in the future:
    1: Choose a different music with lower BPM and lower it by 20%
    2: A better microfoon or remove static noise in post production
    For the rest killer video!!!

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

    This is absolutely the best explanation video about async I've ever seen. Amazing work!

  • @alaaroumeeh2752
    @alaaroumeeh2752 2 ปีที่แล้ว

    Thank you very much no one explains this topic well, or they don't explain it at all!

  • @vertikasrivastava1186
    @vertikasrivastava1186 3 ปีที่แล้ว +7

    This was super helpful, thank you!

  • @imaazk
    @imaazk ปีที่แล้ว

    I usually don't comment. but you really make things very simple to understand. Thank you!

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

    Excellent Video! best explanation so far with visual representation.

  • @Justme-PJ321
    @Justme-PJ321 ปีที่แล้ว

    This is the most crisp and clear explanation for non blocking I/O in layman terms, thanks a lot

  • @nicholasaine7756
    @nicholasaine7756 2 ปีที่แล้ว

    Best explanation I have come accross, on this topic.

  • @sandeepkosta5750
    @sandeepkosta5750 ปีที่แล้ว

    I just wanted to break the like button by clicking on it many times.
    What a great explaination sir
    Thanks so much

  • @tayyibulhassan6227
    @tayyibulhassan6227 ปีที่แล้ว

    I HAVE NEVER SEEN A BETTER TUTORIAL THAN THIS ONE DUUUUUDDDEEEE, YOU ARE AMAZING!!!

  • @whitebeardpirates7551
    @whitebeardpirates7551 2 ปีที่แล้ว

    Man that's HUGE, i finally understand this heavy topic as if it was a piece of cake, you're the GOAT ♥♥ Thanks for your effort ♥

  • @nathanielkswas
    @nathanielkswas 3 ปีที่แล้ว +7

    This was super well presented and produced. Keep up the good work!!

  • @dark_lord98
    @dark_lord98 2 ปีที่แล้ว +1

    This is the best video I watched regarding the I/O and CPU tasks. The code example cleared many things for me. Thanks a lot man. Please keep making videos on software engineering topics.

  • @souravsharma6092
    @souravsharma6092 ปีที่แล้ว

    Thank you! Really glad I landed on this video, I don't remember the last time someone explained things as simply and effectively as this. Keep up the good work! Will regularly check your channel for any doubts.

  • @brettwines6812
    @brettwines6812 3 ปีที่แล้ว +1

    wow, each of these is better than the last. Your hard work really shows!!!

  • @IvanBilan-ty9jw
    @IvanBilan-ty9jw 7 หลายเดือนก่อน

    It's a great explanation of complex concept. Divinding work time into CPU and IO time is a realy great concept for understanding this. Now I understand why Node.js is so popuar for web development. Thanks!

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

    Thank you. Almost 10y fiddling with web dev and never bothered to check this, sounds awesome to implement

  • @MyAminedz
    @MyAminedz 2 ปีที่แล้ว

    Absolutely mind-blowing video, hats off to you sir

  • @sid6576
    @sid6576 ปีที่แล้ว +8

    Just found this video, great work man.
    My 2 cents: I think the conversation about asynchronousity is incomplete without thinking about how threads and context switching are handled at the OS level. Without the concepts of yielding, interrupts and a priority queue for threads, I was confused for the longest on time on how the computer just magically knows when to switch from one task to another and when it knows that an IO task is complete. I feel like the next step after this video would be to tackle scheduling in OSes because I feel like a lot of programmers on the internet find it to be impenetrable when it's really not that hard!

    • @wafikiri_
      @wafikiri_ ปีที่แล้ว

      I agree. I watched the video expecting a more advanced explanation. I'm currently amateurly designing the scheduler of a multi-tasking processor and wanted to learn of current solutions.

  • @ckim0324
    @ckim0324 3 ปีที่แล้ว

    Fantastic video, Alex. Your channel is VERY underrated.

  • @ainharansubramaniam2910
    @ainharansubramaniam2910 3 ปีที่แล้ว +1

    Great video I hope you keep them coming

  • @wichaisawangpongkasame9237
    @wichaisawangpongkasame9237 3 ปีที่แล้ว +1

    You're great at explaining things. It's much clearer to me now. Thanks.

  • @carolinafransiscalopezpaca541
    @carolinafransiscalopezpaca541 2 ปีที่แล้ว

    you make great content, don't stop until the top

  • @teamjupeter9451
    @teamjupeter9451 3 ปีที่แล้ว +1

    What a wonderful lecture on blocking!!

  • @muhammadsalikin3886
    @muhammadsalikin3886 3 ปีที่แล้ว +1

    Thank you so much for this video. Best explanation ever !

  • @minhtaile3572
    @minhtaile3572 3 ปีที่แล้ว +1

    Thanks for making this video, it's easy to understand

  • @Finn-jp6pn
    @Finn-jp6pn 3 ปีที่แล้ว +1

    Found this on Reddit. This was really helpful. Thanks 👍

  • @morphos2
    @morphos2 2 ปีที่แล้ว

    Bravo!!! Excellent explanation!! 👏👏👏

  • @dhruvpurwar6642
    @dhruvpurwar6642 3 ปีที่แล้ว

    One of the best videos for the concept!!!

  • @jokercry8132
    @jokercry8132 3 ปีที่แล้ว

    Wow! Explanation is so good with the graph.

  • @island_rhythms
    @island_rhythms ปีที่แล้ว

    This is a treasure! Such a great and simple explanation! Thank you

  • @congdao7484
    @congdao7484 3 ปีที่แล้ว +2

    Good work, hope you have more similar video.

  • @georgemarwanqana3478
    @georgemarwanqana3478 2 ปีที่แล้ว

    BEST EXPLANATION OF THE YEAR

  • @mars_bold
    @mars_bold 2 ปีที่แล้ว

    BROTHER, YOU ARE THE BEST!!! You oooh really helped me!! THANK YOU VERY MUCH!This is cool, well done!

  • @cvramankishore4u
    @cvramankishore4u 2 ปีที่แล้ว

    Great explanation saw couple of your videos and both are awesome keep up the good work

  • @aramaiskhachatryan553
    @aramaiskhachatryan553 3 ปีที่แล้ว +1

    Great one! Keep it up Alex.

  • @Karpefilm
    @Karpefilm 2 ปีที่แล้ว

    By far the best explanation! Keep up the fine work

  • @ilovemikey-777
    @ilovemikey-777 ปีที่แล้ว

    You just explain it so well !
    This is exactly the video I need.

  • @lychenus
    @lychenus 3 ปีที่แล้ว

    very decently explained. now i understand when to pick a (non-)blocking io framework

  • @vunu.
    @vunu. 3 ปีที่แล้ว

    Your voice is perfect for these videos! You've come so far in the last decade, awesome stuff! Works like clockwork...wink wink nudge nudge. Anyway, I enjoyed this. I'm subscribing and hitting the bell!

  • @theace9562
    @theace9562 3 ปีที่แล้ว +2

    Super helpful. Thanks

  • @yooog
    @yooog 3 ปีที่แล้ว +1

    Excellent explanation!

  • @Y3arin
    @Y3arin 3 ปีที่แล้ว

    Great work. This is easily the best, clearest explanation of the subject I've seen in a video.

  • @indoor-adventurer
    @indoor-adventurer 8 หลายเดือนก่อน

    dude, make more videos! Such high quality stuff 👏

  • @arjunbhat6502
    @arjunbhat6502 3 ปีที่แล้ว

    Keep on doing such kind of videos. That really helped.

  • @yashkumar-jv2cf
    @yashkumar-jv2cf 3 ปีที่แล้ว

    I was struggling with this concept for months. you cleared my doubt. thanks man

  • @teerapatprommarak2070
    @teerapatprommarak2070 3 ปีที่แล้ว +1

    Fantastic video! Thank you Alex

  • @Frozd
    @Frozd 2 ปีที่แล้ว

    Great video! The explanation was on-point and easy to understand, and the animations made it easy to follow.

  • @karthiks-he4wh
    @karthiks-he4wh 2 ปีที่แล้ว

    Beautifully explained 👌

  • @rollercoasterer
    @rollercoasterer 2 ปีที่แล้ว

    Very top notch quality!

  • @siddharthyadav5066
    @siddharthyadav5066 3 ปีที่แล้ว

    This very well explained the concept with animations and examples. Thanks for the great work

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

    you have just nailed it. Respect.

  • @jmro7
    @jmro7 3 ปีที่แล้ว

    top notch content. i can already envision this being a big education channel. Keep it up !

  • @ashishchiluka8912
    @ashishchiluka8912 2 ปีที่แล้ว

    Great explaination , one of the best videos

  • @saurabh0241
    @saurabh0241 ปีที่แล้ว

    thank you soo much for this video brother . love from INDIA

  • @ytrkptl
    @ytrkptl 3 ปีที่แล้ว +1

    Great explanation.

  • @samartajshaikh2601
    @samartajshaikh2601 2 ปีที่แล้ว

    Great explanation. Simple and precise. Exactly what I needed. Thanks.

  • @saurabh95mishra
    @saurabh95mishra ปีที่แล้ว

    amazing explanation, I learned redis uses similar model as nodejs, would love your video on that!

  • @Juan_lauretta
    @Juan_lauretta 2 ปีที่แล้ว

    Wow this video was amazing, thank you so much

  • @cuongtrinhminh
    @cuongtrinhminh 3 ปีที่แล้ว

    Great video because it explains a hard thing simple

  • @icns01
    @icns01 2 ปีที่แล้ว

    It was super helpful. Thanks much for clarifying.

  • @mohamedchebbi1154
    @mohamedchebbi1154 3 ปีที่แล้ว

    That's huge, great job, u saved my life.

  • @utkarshtripathi2349
    @utkarshtripathi2349 3 ปีที่แล้ว

    Best explanation, Thanks for the video

  • @vyasrajjoshi6059
    @vyasrajjoshi6059 2 ปีที่แล้ว

    Very well presented. Waiting for more of such content 😊

  • @mandaputtra
    @mandaputtra 2 ปีที่แล้ว +1

    Thanks, all of your video are easily digested! Maybe you can decrease the background music volume to 10% or 20%.

  • @JanetTheDev
    @JanetTheDev 2 ปีที่แล้ว

    Thanks so much, this was super helpful!

  • @henriquesenadev2194
    @henriquesenadev2194 ปีที่แล้ว

    Incredible video!

  • @salvadorgonzales1566
    @salvadorgonzales1566 3 ปีที่แล้ว

    Wow you did very good on this video! well explained! hope you make many more on all topics lol

  • @Belkiii88
    @Belkiii88 3 ปีที่แล้ว

    Really great video!

  • @waniarifrasool
    @waniarifrasool ปีที่แล้ว

    This is wonderful!

  • @RunxiDing
    @RunxiDing ปีที่แล้ว

    nice explanation! Thank you! Alex!

  • @ShaikSameer549
    @ShaikSameer549 3 ปีที่แล้ว

    Thanks for making it simple and more understandable

  • @oladipupooladele3647
    @oladipupooladele3647 2 ปีที่แล้ว

    Great video!!!!! i loved it so much

  • @howards5205
    @howards5205 ปีที่แล้ว

    This is the best explanation I've seen on non-blocking I/O. Thank you SOOOO much for this video! It clarified so many questions I had.
    @4:20 of your video, you listed three examples of I/O (inactive time):
    - reading from filesystem
    - making network requests
    - waiting for time to pass
    Would executing a long-running database query qualify as a I/O or CPU? The database would be doing all the heavy compute. Would NodeJS be able to move onto other active tasks while the database query is running? Or will a thread be tied to the database query?

  • @ap_0011
    @ap_0011 4 หลายเดือนก่อน +1

    @5:49 Also, the waiter is looking at your face while you are eating 😅😅😅😅

  • @raimundoladrondeguevara8597
    @raimundoladrondeguevara8597 2 ปีที่แล้ว

    Thank you so much for this video.

  • @t2a392
    @t2a392 ปีที่แล้ว

    Amazing video !

  • @michaelciyke
    @michaelciyke 2 ปีที่แล้ว

    awesome explanation!

  • @ayushmanvashishtha8180
    @ayushmanvashishtha8180 3 ปีที่แล้ว

    Great video man

  • @randomguy59420
    @randomguy59420 3 ปีที่แล้ว +1

    awesome, well done!

  • @flavioneto1081
    @flavioneto1081 3 ปีที่แล้ว

    Great video and animations, very explicative, thank you

  • @אסףשפיגלר
    @אסףשפיגלר 3 ปีที่แล้ว

    awesome video bro!

  • @DharanAditya
    @DharanAditya 2 ปีที่แล้ว

    Thanks for the video ❤

  • @arnabgoswami8971
    @arnabgoswami8971 3 ปีที่แล้ว

    Thanks you so much for the wonderful explanation It really helped me clearing the concept

  • @dkevin1553
    @dkevin1553 3 ปีที่แล้ว

    Awesome Video Bro❤️❤️

  • @xtremewolve
    @xtremewolve 3 ปีที่แล้ว

    too good, I am subscribing

  • @idanqwe1
    @idanqwe1 3 ปีที่แล้ว

    Great explanation! Thank you.

  • @Developerish
    @Developerish 3 ปีที่แล้ว

    My gosh, where have you been my whole life.

  • @TubeSwarn
    @TubeSwarn 3 ปีที่แล้ว

    Awesome video. Clean and crisp explanation. Not sure why there is one dislike. Just ignore it. Maybe it's from a non software engineering viewer 🤣

  • @byronkenoly
    @byronkenoly 2 ปีที่แล้ว

    great work!