Concurrency Concepts in Python

Поделиться
HTML-код
  • Опубликовано: 29 авг 2024
  • This video explores concurrency concepts in a Python context, such as multithreading, multiprocessing, async processing, parallel and interleaved processing, CPU and I/O bound workloads, and which concurrency techniques might be applicable to these different types of workloads. **This is not a code video**, we are just going to look at all these **concepts**, their definitions, and gain a better understanding of what they are and how they work in Python.
    #mathbyteacademy #python
    Slides for this Video
    ================
    Available in GitHub blog repo: github.com/fba...
    Direct link: tinyurl.com/2r...
    My Python Courses
    =================
    - Python 3 Fundamentals (introduction to Python)
    www.udemy.com/...
    - Python 3 Deep Dive (Part 1 - Functional)
    www.udemy.com/...
    - Python 3 Deep Dive (Part 2 - Iteration, Generators)
    www.udemy.com/...
    - Python 3 Deep Dive (Part 3 - Hash Maps)
    www.udemy.com/...
    - Python 3 Deep Dive (Part 4 - OOP)
    www.udemy.com/...

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

  • @justatula
    @justatula Год назад +4

    He explains like a hot knife over a butter. Such detailed explanation I don't find anywhere.

  • @santoshkumar-dr4qg
    @santoshkumar-dr4qg Год назад +12

    Many times in the past, I attempted to understand the concept of multithreading programming in Python, but was unable to fully comprehend it and ultimately gave up. However, thanks to your detailed explanation, I now feel much more comfortable with the concept. I am grateful for the valuable content you have provided.

  • @maganzo
    @maganzo Год назад +9

    Btw Fred I finished all 4 parts of Deep Dive, and I wanted to say you helped me a lot. You are a great educator and by coincidence, we share the same alma mater Strathclyde University!

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

      Glad you liked them. Strathclyde was great, I really enjoyed my stay in Glasgow! Small world 😀

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

      ​@@mathbyteacademy Will there be Deep Dive 5? (perhaps Design Patterns is a good topic for such a venture)

    • @mathbyteacademy
      @mathbyteacademy  Год назад +11

      I've started work on an async course - but will be quite a while before I get something out.

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

      @MathByte Academy wow can't wait for the release

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

      Awesome news! Can’t wait to buy separate course on async from you!!!

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

    I wish I had skipped Uni (was a long time ago though) and just graduated from your academy. Well done, sir!

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

    I had to stop the video, to say thank you. This video is a gem. I am gonna give the rest of the videos in this channel a look, if they are of the same quality, then hey, the whole channel is a GEM :)

  • @gorandev
    @gorandev Год назад +3

    Thank you Fred for explaining all concepts so thoroughly. I bought all 4 parts of your Python 3 Deep Dive course on Udemy, and I keep recommending them to others.

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

      Thank you!!

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

      Same here. I work for a stock exchange doing analytics and the first thing I ask devs to do during their first month when they're waiting for accesses and stuff is to go through part 1 and part 4 of Fred's course. They have "aha" moments every day.

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

      Thanks, glad to hear about those aha moments 😀

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

      @@mathbyteacademy now if we could only get a second Fred to do a similar course on Rust … 👌🏼

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

      😀 If you do find a good Rust course, please post it here! I'd be interested!

  • @kurianpius
    @kurianpius Год назад +3

    Thank you Fred . Crystal clear as always!

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

    This video definitely deserves like and comment for better promotion.

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

      Thanks! That would be nice, but very few people bother to take the time to do so.

  • @kafychannel
    @kafychannel 8 месяцев назад +1

    The greatest explanation, thanks ❤

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

    this is one of the highest quality content i have seen. thank you for your efforts

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

    I want to thank you for your work! You are my favorite lecturer and the best one in my experience. I bought all your courses on udemy and this was the best way to spend that money and best course. Just want to thank you once again!

  • @cogdraw
    @cogdraw 6 месяцев назад

    superb. just what I need to master. patiently waiting for the full course to come out. Thanks Dr. Fred

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

    You’re such an inspiration Fred. Many Thanks for such videos.

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

    You're one of the very best in teaching Python. Thanks!

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

    Fred you are an amazing teacher. Huge respect for you!! And really thank you for your time and effort for the quality content.
    Also, will you also be making videos on how you use your favourite IDE, some tips and tricks or setup those ?

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

      Thanks, glad you like the content. I probably won't do videos on PyCharm (which is the IDE I use, not VSCode) as it's pretty straightforward for the most part - but I do have a video in this channel that describes how to set up PyCharm with Python virtual environments:
      ruclips.net/video/1ypX9SRq5tc/видео.html

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

    Great explanations! The completeness and clarity of this video is awesome and really helpful for beginners like me . Thanks!

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

    Really great conceptual overview and helpful tips on libraries at the end!

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

    One of your huge fan Fred. Following your Deep Dive series from Udemy as well. Your lectures are like those movies which not only are entertaining but also have BTS in the end. The way you explain the BTS of python concepts is amazing.
    I am Professor myself who teaches Python to Engineering undergraduates and I always tell them that you are my teacher. Thanks for giving your knowledge to this world.

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

      Thank you Abhishek, glad you like the videos!
      But what does BTS stand for? I know it's a Korean band, but not sure what you mean here 😀

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

      @@mathbyteacademy Behind The Scene

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

      Ah, thanks!!

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

    Your content is excellent Fred. Thank you!

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

    Thanks for this. It is very helpful

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

    It's a *great* video.

  • @johnmckenna7121
    @johnmckenna7121 8 месяцев назад +1

    Hi Fred, I think I seen under one of your other videos you mentioned that you have been working on a async course for Udemy, I was wondering if this is still in progress, and if so is there at eta on it? Also if you haven't finished it yet, I would suggest to show the comparison between part 2 deep dive series, and the alternative in async, I recall you mentioning that part of the series is outdated, yet I can't seem to get my head around how they relate. Anyways keep up the good work, I have gotten so much benefits from your courses.

    • @mathbyteacademy
      @mathbyteacademy  8 месяцев назад +1

      Hi John, no ETA yet on an async course - just finished the pydantic course, and taking a break for the holidays before resuming my work on it. Before the natuve coroutine capabilities of Python, you could define coroutines using generator functions (yield can both send and receive data). This has been deprecated, and instead coroutines are now natively available using things like async def and await, along with the functionality available from the asyncio standard library.

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

    Jeez that was so good

  • @nnnpooh
    @nnnpooh 6 месяцев назад

    Many thanks!

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

    Thanks again for another great video explaining difficult concepts. I'm always recommending your channel and Udemy courses to all of my colleagues that want to improve their Python.

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

    Thanks a lot for sharing the detailed knowledge Fred. Appreciate it!

  • @frustratedalien666
    @frustratedalien666 6 месяцев назад

    Another amazing video from. I have all of your Udemy courses and they are the best things I've bought on Udemy in the last decade. Would you consider making a course going into the details of asyncio starting right at the beginning? That's one part of Python I am not completely comfortable with 😅

  • @iwswordpress
    @iwswordpress 6 месяцев назад

    Excellent as ever!

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

    Can you use multiprocessing in combination with asyncio, meaning having one event loop per process? Would it be beneficial for I/O workloads? Thank you as always Fred!

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

      Sure, I don't see why not (I've seen this done with threading not async, but I don't see why that would not work in theory). I would argue though, that if you need the CPU work distributed, you might be better off looking at an external queue and workers (each one can use async for I/O). If you use subprocesses you are limiting your scale to a single machine. If that single machine ever becomes insufficient for the load, you're only option (without rewriting your software) is to scale the machine up (beefier CPU, more cores, etc). With the queue/worker approach (I have an example video on that using Redis as a queue) you can easily scale out without any software rewrites (and the code is much much simpler).

  • @lukashk.1770
    @lukashk.1770 Год назад +1

    still there is a lack of good resources about async python. it would be good to have full udemy part about it

  • @harshbiyani3048
    @harshbiyani3048 4 дня назад

    Hi Fred, do you have any plans to extend the Deep dive series to include AysncIO ?

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

    Hi, if one thread paused and gave control back to main loop, but it must still wait and handle the callback of the I/O, right? dosen't it mean the the thread must still run somehow?

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

      there are no callbacks - when the thread resumes, it checks to see if the I/O op completed or not (if not, it will just wait and eventually get switched out)

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

      @@mathbyteacademy thanks for the explanation

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

    Thank you Fred. where can i find, example for running async progrems, for none web app

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

      I'm working on an async course right now, but won't be out till end of the year. I have a video showing an example of using async with queues, but that's not a general/broad concept async video. I would search for something on RUclips - in particular this series by @EdgeDB is really good: ruclips.net/p/PLhNSoGM2ik6SIkVGXWBwerucXjgP1rHmB

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

      @@mathbyteacademy thank you