AsyncIO & Asynchronous Programming in Python

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

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

  • @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 года назад +46

      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 года назад +18

      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 года назад +13

      @@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 года назад +9

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

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

    Probably the best explanation of basic asyncio on YT

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

    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!

  • @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.

  • @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❤

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

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

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

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

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

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

  • @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

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

    exactly what I wanted. Great and simple explanation

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

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

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

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

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

      thanks for watching :)

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

    Thank you for explaining complicated things in simple words!

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

    Nice balance of explanation and elaboration, much appreciated!

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

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

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

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

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

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

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

    Crisp and Clear!
    Perfect. Thanks a ton!

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

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

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

    Easily explained with efficiency. Thanks man !!

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

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

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

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

  • @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.

  • @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.

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

    Very clean explanation, Thanks!

  • @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?

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

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

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

    Wonderful explanation and great examples, thank you.

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

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

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

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

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

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

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

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

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

    Thanks man. Loved this video.

  • @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?

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

    Amazing explanation!

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

    Excellent explainer for a beginner like me. Thanks man!

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

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

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

    Best video to the topic! Thank you!

  • @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.

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

    very nicely explained, Thank you for the tutorial

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

    Great explanation, man, thanks a lot!

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

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

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

    very well explained
    Thanks so much

  • @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

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

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

  • @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.

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

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

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

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

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

    THANK YOU! VERY CLEAR EXAMPLE😁

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

    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

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

    Great explanation, thank you so much!

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

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

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

    Best explanation

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

    Saved my day, thanks.

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

    What app do you use for coding?

  • @РоманПлетнев-г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.

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

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

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

    well explained, thank you!

  • @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?

  • @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.

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

    Thx man it was very clear!

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

    Freaking amazing explanation!!

  • @mohammedabdelfattahgheffar3659

    Thank you this very helpful

  • @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?

  • @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.

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

    This was very very good

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

    Great explain

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

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

  • @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.

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

    Love watching ur videos ❤️🤘

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

    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 ??????????????

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

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

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

    amazing i was asking myself how its possible :D

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

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

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

    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

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

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

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

    Very good video.

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

    I love your videos keep going

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

    Amazing 🎉

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

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

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

    helped a lot. tnx

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

    My personal hero

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

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

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

    Great vid

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

    Not getting the same results. makes hard to follow along/learn if I can't get the same results.

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

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

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

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

  • @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.

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

    Waiting for Python ARCADE

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

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

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

    good video

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

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

  • @__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

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

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

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

    start a fitness channel pl´z

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

    cool

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

    Seriously? No one notices his giant Biceps?

  • @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 ❤️.

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

    Day 4 of trying to get Pinned by NeuralNine

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

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