AsyncIO & Asynchronous Programming in Python

Поделиться
HTML-код
  • Опубликовано: 15 янв 2025

Комментарии • 132

  • @neelbanga
    @neelbanga 3 года назад +60

    Hello! I have a very small programming channel, I was wondering if you had any tips for me? Thank you!

    • @NeuralNine
      @NeuralNine  3 года назад +47

      Just took a look. Great English skills, are you a native speaker? Regarding tips I can just say the usual stuff. Upload good videos on a regular basis. Make the titles catchy but not Scammy. Make the thumbnails catchy but not ridiculous. I think for some people age might be a factor because they don't want to learn from someone who is younger. In that case, patience will pay off. Besides that, just focus on learning and making videos on interesting projects and over time people will come to your channel. You seem like a good teacher. Good luck! :)

    • @NeuralNine
      @NeuralNine  3 года назад +20

      I just saw that you are doing this for one month. That is not a long time. You are doing quite well. Work hard, be creative but don't be impatient ^^

    • @neelbanga
      @neelbanga 3 года назад +10

      @@NeuralNine No, I'm not actually a native speaker, my first language was Hindi then Japanese and after that I learned English. I have used English the most and the longest though so that's why it's my best language! Thank you for the tips, I will keep all of them in mind! I'll also make sure to be patient!

    • @NeuralNine
      @NeuralNine  3 года назад +14

      @@neelbanga Wow impressive. Keep pushing, I think you will be successful! :) I will pin your comment. Maybe you will get some subs that way.

    • @neelbanga
      @neelbanga 3 года назад +10

      @@NeuralNine Thank you so much!!! I love your videos, BTW I’m subscribed, it means a lot to be pinned by you!!!

  • @hadi_ayoub
    @hadi_ayoub 2 года назад +43

    Even though I watched a lot of videos and read a lot of articles about asynchronous, I did not understand the mean idea of asynchronous until I watched the very first four minutes of your video. Great explanation! Thank you!

  • @damiankirstein3311
    @damiankirstein3311 Год назад +2

    Probably the best explanation of basic asyncio on YT

  • @MOFCrystal
    @MOFCrystal 3 года назад +27

    This is a crystal clear explanation with the easiest examples. I have watched a few clips before this about the same topic, but I could only get a vague idea about this concept. Now, I think I can use this for my code. Much appreciated.

  • @MoisesRDL
    @MoisesRDL 2 года назад

    I read and watched videos without understanding, I found your video and understood everything. Great video, simple and well explained.

  • @mrjt6404
    @mrjt6404 Год назад +1

    I have been studying asyncio for two weeks. I watched this video for the second time and now i think I understand this complex programming
    Thanks a lot❤

  • @jorge1869
    @jorge1869 2 года назад

    Better explained impossible. I have seen other videos explaining this topic without understanding, but this guy is a crack. Subscribed!

  • @shiro3940
    @shiro3940 2 года назад

    I was confused at the few first minutes but when you're at the returning section, things got much clearer.
    thanks! 👌

  • @spmathf
    @spmathf Год назад +1

    exactly what I wanted. Great and simple explanation

  • @CarterCovers55
    @CarterCovers55 3 года назад +1

    Nice balance of explanation and elaboration, much appreciated!

  • @iaroslavdavydiak6439
    @iaroslavdavydiak6439 Год назад

    Thank you for explaining complicated things in simple words!

  • @yourfriendlyneighborhood5547
    @yourfriendlyneighborhood5547 3 года назад +9

    Keep going brother. Thank you so much for this channel and your videos ❤

    • @NeuralNine
      @NeuralNine  3 года назад +3

      thanks for watching :)

  • @o1techacademy
    @o1techacademy 2 года назад +1

    Excellent explanation of async await. Thank you very much sir.

  • @AmitabhSuman
    @AmitabhSuman Год назад

    Crisp and Clear!
    Perfect. Thanks a ton!

  • @adityajha2553
    @adityajha2553 11 месяцев назад

    Very clean explanation, Thanks!

  • @asadcomputee3942
    @asadcomputee3942 Год назад +1

    Great video. It was easy to digest and it was fast to the point. Thank you!

  • @joshboye1427
    @joshboye1427 3 года назад +1

    Thank u very much man. Helped a lot. U explained it in a very elaborate and understandable way.

  • @coenfuse
    @coenfuse 11 месяцев назад

    Thanks man. Loved this video.

  • @임상일-h7f
    @임상일-h7f Год назад

    That content is very helpful! Thank you for clarifying explanation!

  • @viveksagarpandey6627
    @viveksagarpandey6627 3 года назад

    Easily explained with efficiency. Thanks man !!

  • @yash1152
    @yash1152 Год назад +1

    4:58 > this is not very asynchrounos
    5:30 > while [other] is sleeping, print b
    yeah; thtat's what i wanted
    6:05 > once we have some idle time; we're going to run this task
    6:19 it seems to me that asyncio _tends to_ perform only cpu-bound blocking task and skip over the non-cpu task unless awaited for
    8:48 ret vals
    10:40 > future in python; it's like a promise in javascript
    thanks a lot - i have been watching soo many videos, but none covered it his well...
    others went somewhat deep but still missed the point.
    u kept it to manageable but still covered the worthy concepts of returns etc...
    thanks a lot.
    -----
    ```import asyncio
    async def main():
    task = asyncio.create_task(otfn)
    print('a')
    await asyncio.sleep(1)
    print('b')
    ret_val = await task
    async def otfn():
    print('1')
    await asyncio.sleep(2)
    print('2')
    return 10
    asyncio.run(main())```

    • @MFM88832
      @MFM88832 Год назад

      Your code is buggy and doesn't work. Here is the fixed version:
      import asyncio
      async def main():
      task = asyncio.create_task(otfn())
      print('a')
      await asyncio.sleep(5)
      print('b')
      ret_val = await task
      print("Return value: ", ret_val)
      async def otfn():
      print('1')
      await asyncio.sleep(2)
      print('2')
      return 10
      asyncio.run(main())

    • @yash1152
      @yash1152 Год назад

      @@MFM88832 hi! the code was copy pasted from the video as far as i can think

  • @PedroContipelli2
    @PedroContipelli2 Год назад

    Amazing explanation!

  • @Man-Vs-Car
    @Man-Vs-Car 3 года назад +3

    Love the lessons, thanks man, keep it up 👏🏽

  • @t3lls
    @t3lls 2 года назад

    Best video to the topic! Thank you!

  • @raizdesamauma8607
    @raizdesamauma8607 Год назад

    Great explanation, man, thanks a lot!

  • @SamirMamude
    @SamirMamude 3 года назад

    This is the best explanation about async/wait in Python, thank you buddy!

  • @Spiray
    @Spiray 3 года назад +1

    Wonderful explanation and great examples, thank you.

  • @matiascardenas6769
    @matiascardenas6769 2 года назад

    Nice stuff, in a few minutes I was able to get a good idea of asyncio and clear quite some doubts. Thanks!

  • @moimiess
    @moimiess 3 года назад +1

    Awesome, just as I was looking into async you uploaded this. You helped alot, thank you!
    Btw: holy biceps!

  • @debhasish
    @debhasish Год назад

    very nicely explained, Thank you for the tutorial

  • @miraclechielota3709
    @miraclechielota3709 Год назад

    very well explained
    Thanks so much

  • @ShukyPersky
    @ShukyPersky 2 года назад +1

    what you have said to asynch programming describes precisely multithreading as well. In multithreading when a thread IOs and is waiting for stuff, another thread will get the CPU as GIL will be released

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 2 года назад

      Threads preempt automatically, based on priorities or timeslice expiry. Coroutines only get preempted when they explicitly yield to other tasks. This makes for a simpler programming model.

    • @avivran1198
      @avivran1198 2 года назад

      @@lawrencedoliveiro9104 It sounds like a very undeveloped multi-threading infrastructure that needs such a ridiculous mechanism
      RTOS kernels support it natively (including prioritizing threads which are not available with python GIL

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 2 года назад

      @@avivran1198 Threads were very big in the 1990s. And sure, all modern OSes and languages support them. It’s just that we don’t always need their complications.

  • @srana977
    @srana977 3 года назад +7

    Well explained, I watched 7-8 videos before this and this is the best explanation. Great work. Would like to see more on Asyncio and also Go tutorials :)

    • @soumya32
      @soumya32 Год назад

      I am getting the error "partially initialized module 'asyncio' has no attribute 'run " . any solution?

  • @tobychen8832
    @tobychen8832 9 месяцев назад

    Thank you for your nice video. I learned a lot from it.

  • @ds-f7g
    @ds-f7g 2 года назад +2

    Perfect video - definitely the easiest to follow explanation of this topic that I've seen so far. Thanks!

  • @mohammedabdelfattahgheffar3659

    Thank you this very helpful

  • @ksr11
    @ksr11 3 года назад

    Nicely explained. I watched other videos on same topic. But I got the real subject from this video only. Well understood difference between thread and asyncio.

  • @GelsYT
    @GelsYT 2 года назад

    THANK YOU! VERY CLEAR EXAMPLE😁

  • @yankunbigcat7925
    @yankunbigcat7925 2 года назад

    well explained, thank you!

  • @dancorwin9232
    @dancorwin9232 3 года назад

    Excellent explainer for a beginner like me. Thanks man!

  • @shilashm5691
    @shilashm5691 2 года назад +1

    Multithreading also does one thing at a time. It is also does the thing concurrently

  • @wakgate577
    @wakgate577 2 года назад

    Thx man it was very clear!

  • @mightyplayer6977
    @mightyplayer6977 2 года назад

    Saved my day, thanks.

  • @nishantkaranjavkar3450
    @nishantkaranjavkar3450 3 месяца назад

    Great explain

  • @gri4on
    @gri4on 2 года назад

    Best explanation

  • @floatingpointbr
    @floatingpointbr Год назад

    You don't look nerdy but your lecturing was actually very good.

  • @bouzie8000
    @bouzie8000 11 месяцев назад

    This was very very good

  • @EnglishRain
    @EnglishRain 3 года назад

    Great explanation, thank you so much!

  • @msreeram8825
    @msreeram8825 3 года назад +1

    Man, I rarely subscribe to channels.. and you made me do it.. a sub from me♥️. Underrated content👌🏻

  • @charan2446
    @charan2446 3 года назад +8

    I think its better to start a new channel or whatever maybe for BodyBuilding - NeuralFitness

  • @judeleon8485
    @judeleon8485 3 года назад +2

    How does one get the return values when create_task has more than one function?

  • @aymancassim8944
    @aymancassim8944 3 года назад +1

    Great video as usual. Will it be possible for you to make a video on the abc library?

  • @diegocassinera
    @diegocassinera 2 года назад

    You should have also printed time in millis along with the a b 1 2. Important note, even do the program had total sleep of 3 seconds, the actual total running time of the program is less.

  • @nachoeigu
    @nachoeigu 2 года назад +2

    Wow, it is an amazing content. Thank you. I would like to know more about asyncio in Python. How did you learn it? Do you recommend some lecture or article?

  • @saurabhmahra4084
    @saurabhmahra4084 3 года назад

    Freaking amazing explanation!!

  • @benlong1062
    @benlong1062 3 года назад +1

    Thanks for this great explanation and example of async and await. I'd heard it mentioned a lot in other tutorials but never knew what it really meant.

  • @AcidLite
    @AcidLite 8 месяцев назад

    Very good video.

  • @thedevnoteyt
    @thedevnoteyt 3 года назад

    Love watching ur videos ❤️🤘

  • @Bbdu75yg
    @Bbdu75yg Год назад

    Amazing 🎉

  • @OmidAtaollahi
    @OmidAtaollahi 11 месяцев назад

    helped a lot. tnx

  • @teeseus8822
    @teeseus8822 2 года назад

    at10:20 u could also just use f"{return_value = }"

  • @dontbetoxic4387
    @dontbetoxic4387 3 года назад

    wait thats awesome i want to learn the asyncio module because of your sockets video

  • @ludovicobaldo8742
    @ludovicobaldo8742 2 года назад

    What app do you use for coding?

  • @yash1152
    @yash1152 Год назад

    7:17 hey, i just noticed. so; it means that control doesn't "await" as in pause till the completion of await.sleep right? while it waits for other "await"s? am i right?

  • @gus.stviaaa
    @gus.stviaaa 3 года назад

    I love your videos keep going

  • @HerozTech
    @HerozTech 3 года назад

    My personal hero

  • @nicovogelaar6427
    @nicovogelaar6427 Год назад

    Is it possible to share memory between two asynchronous tasks while they are running?

  • @Ariya1234gamer
    @Ariya1234gamer 3 года назад +1

    amazing i was asking myself how its possible :D

  • @thelogs9434
    @thelogs9434 3 года назад

    u soo cool! Thanks to you, I'm starting to do small projects

  • @renataalmiratoth3110
    @renataalmiratoth3110 Год назад

    you can use the asyncros function for making a illusion of the mesages lagging but their not lagging

  • @mindedj2
    @mindedj2 3 года назад

    Is this a built in color profile or you have your own?

  • @Duplicity75
    @Duplicity75 Год назад

    Great vid

  • @Ayoubased
    @Ayoubased 3 года назад

    thank you for the video, just stepped upon your channel and watched alot of videos. Idk why but I cant get my head around asynchronous programming. I know it is basically telling the process to stop wasting time and do something whenever ur waiting. But the implementation is hard for me to understand.

  • @jonsnow3513
    @jonsnow3513 3 года назад

    Hello what is your type of the mechanical switches , sound is impressive 🎷

  • @bretearwood7027
    @bretearwood7027 Год назад

    I've been coding for about 3 months now and my arms still aren't as big as yours.. what am I doing wrong?

  • @troopekyt
    @troopekyt 3 года назад +1

    ValueError: Unrecognized type code -1
    i am using a library called neuralintents to create an AI VIRTUAL VOICE ASSISTANT,
    but for some reason when i load the model i get that error? any ideas?

    • @troopekyt
      @troopekyt 3 года назад +1

      I beg you, answer me

  • @WaldoTheWombat
    @WaldoTheWombat Год назад

    I think you're mistaken, "Asynchronous Programming" is a higher level concept that includes both multiprocessing and multithreading. Plus, i read that Asyncio is multithreading, but where the programmer chooses when to switch between threads.

  • @alejandrorodriguezvelez2326
    @alejandrorodriguezvelez2326 3 года назад

    Hi, I need to make http requests to a REST API made in Flask from an app made in Tkinter. My question is if I need to use asyncIO to make the calls or is unnecessary in this case?
    The REST API was made to do CRUD operations connecting to a SQL database.

  • @martajunk181
    @martajunk181 Год назад

    thank you for the video. I am not sure if your description of the difference between asyncio multithreading is accurate though. Aren't they generally about the same, i.e. concurrency (not parallelism) and the difference would be that in multithreading OS decides when to switch between the threads while in asyncio it is programmer themselves who indicates when it is safe to switch? I am by no means an expert in asynchronous/concurrent programming, so it is more a question than a decisive opinion

  • @РоманПлетнев-г3э
    @РоманПлетнев-г3э 2 года назад

    Thanks for the video, I think I now got the idea HOW it works, but I don't get WHY should I use it? What is the advantage over plain old simple python threads?
    Python threads are also run concurrently but not in parallel. So it seems like all asyncio is achieving is the same result, just with extra jumping through the hoops with this async/await syntax garbage.
    While starting a regular thread is literally one line of code and you don't even need to modify the target function in any way.
    Is it all just to save a couple milliseconds and kilobytes used on creating a new thread?

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 2 года назад +1

      Because threads can be preempted at any time, they can lead to mysterious and hard-to-track-down timing-related bugs. Because coroutines only get preempted at the points where you explicitly allow them to, this keeps things simpler.

  • @ameliabuns4058
    @ameliabuns4058 Год назад

    Why do this instead of just using actual threads/processes?

  • @user-ee5dm2pv1z
    @user-ee5dm2pv1z 8 месяцев назад

    bro, this code snippet has proved very helpful in my project, but can you send me the code snippet if I want to print A,B,C asynchronously
    rather than A and B only, then ??????????????

  • @Dan-wh2wv
    @Dan-wh2wv 2 года назад

    My question has noting to do with programming but is your arm real ?

  • @Stefkostov
    @Stefkostov 2 года назад

    good video

  • @ravirajkudal5626
    @ravirajkudal5626 Год назад

    Bro you got nice biceps ;)))))))

  • @yesnonononoooop7920
    @yesnonononoooop7920 3 года назад +2

    OMG IM FIRST!
    Edit: NEURAL REPLIED ON MY COMMENT! I LOVE HIS VIDS

  • @ShukyPersky
    @ShukyPersky 2 года назад

    It seems that this mechanism has too many quirks one should be aware if using it.
    like the one demonstrated on time 6:34
    it seems that "task" was created. On one hand it was invoked though the main thread reached it end, while on the other hand it was invoked but due to release CPU when went sleeping the main thread existed not allowing the "task" to complete properly. This is insane, immature to be used.... kind of a joke
    Does anyone know a serious documentation on the web which thoroughly explains this mechanism ???? thanks

  • @ragd4L
    @ragd4L 3 года назад

    Does the program have 2 threads , one to execute and one to select which function to execute?

  • @RAM-im5lr
    @RAM-im5lr 3 года назад

    Waiting for Python ARCADE

  • @felixwurm1467
    @felixwurm1467 2 года назад

    I hate asyncio, i think it's usles, it can't do anything better than normal Threads. I don't even feal that this ist easier. But your Video helped me understand.

  • @dinimueterihrhurene2772
    @dinimueterihrhurene2772 2 года назад

    cool

  • @__3093
    @__3093 3 года назад

    for the millionth time what's your intro song name lol

    • @troopekyt
      @troopekyt 3 года назад

      Have u ever heard of shazam u dumbass

  • @nirmaltheprogrammer510
    @nirmaltheprogrammer510 3 года назад +1

    finally 😃. still waiting for reinforcement learning
    edit : why no reply to me 😅

  • @stormbytes
    @stormbytes 2 года назад

    You totally lost me. I never wrapped my head around this in Javascript either.

  • @avinashsah5456
    @avinashsah5456 3 года назад

    Seriously? No one notices his giant Biceps?

  • @dontbetoxic4387
    @dontbetoxic4387 3 года назад

    start a fitness channel pl´z

  • @d1fficultgamer609
    @d1fficultgamer609 3 года назад

    Day 4 of trying to get Pinned by NeuralNine

  • @lirimkusari626
    @lirimkusari626 2 года назад

    flori hmmmmmmmm, shiptar koka , e di une, sigg ,qin qin XD

    • @NeuralNine
      @NeuralNine  2 года назад

      I know shiptar means Albanian, but I am from Austria ^^

    • @lirimkusari626
      @lirimkusari626 2 года назад

      is Flori a common name in austria. First time i heard it outside of albania. Much love for the video ❤️.

  • @minecraftoyuncusu166
    @minecraftoyuncusu166 3 года назад

    Why are you watching this!? Read about the RJVX12 algorithm!

  • @ilahi_şerîf
    @ilahi_şerîf 3 года назад

    RJVX12 algorithm is my choice, i dont worry about BTC rates at all