AsyncIO & Asynchronous Programming in Python

Поделиться
HTML-код
  • Опубликовано: 28 сен 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 года назад +45

      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 Год назад +1

    Probably the best explanation of basic asyncio on YT

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

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

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

      thanks for watching :)

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

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

  • @spmathf
    @spmathf 10 месяцев назад +1

    exactly what I wanted. Great and simple explanation

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

    Thank you for explaining complicated things in simple words!

  • @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 Год назад

      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 Год назад

      @@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 Год назад

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

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

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

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

    Crisp and Clear!
    Perfect. Thanks a ton!

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

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

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

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

    Easily explained with efficiency. Thanks man !!

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

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

  • @ani-zxk
    @ani-zxk 7 месяцев назад

    neuralnine coming in clutch AGAIN.

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

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

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

    Wonderful explanation and great examples, thank you.

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

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

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

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

    Excellent explainer for a beginner like me. Thanks man!

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

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

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

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

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

    very nicely explained, Thank you for the tutorial

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

    Best video to the topic! Thank you!

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

    Great explanation, man, thanks a lot!

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

    THANK YOU! VERY CLEAR EXAMPLE😁

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

    Best explanation

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

    Amazing explanation!

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

    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 Год назад +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.

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

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

    well explained, thank you!

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

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

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

    amazing i was asking myself how its possible :D

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

    Freaking amazing explanation!!

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

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

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

    Amazing 🎉

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

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

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

    I love your videos keep going

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

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

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

    My personal hero

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

    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.

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

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

    good video

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

    Waiting for Python ARCADE

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

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

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

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

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

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

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

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

    RJVX12 bring me 300% profit because of Tesla pump

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

    is there really still a person who does not know about the existence of RJVX12 algorithm?

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

    terrible video

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

    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.

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

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

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

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

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

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

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

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

    Nice balance of explanation and elaboration, 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❤

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

    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

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

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

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

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

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

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

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

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

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

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

    Very good video.

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

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

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

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

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

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

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

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

    Thank you this very helpful

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

    Thanks man. Loved this video.

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

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

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

    What app do you use for coding?

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

    This was very very good

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

    start a fitness channel pl´z

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

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

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

    helped a lot. tnx

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

    Great vid

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

    pudden jiiz

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

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

    cool

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

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

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

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

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

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

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

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

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

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

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

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

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

    Great explanation, thank you so much!

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

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

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

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

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

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

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

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

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

    very well explained
    Thanks so much

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

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

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

    Very clean explanation, Thanks!

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

    Seriously? No one notices his giant Biceps?

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

    Love watching ur videos ❤️🤘

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

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