Python Threading Explained in 8 Minutes

Ғылым және технология

Today we will cover the fundamentals of multi-threading in Python in under 10 Minutes.
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books & Merch 📚
🐍 The Python Bible Book: www.neuralnine.com/books/
💻 The Algorithm Bible Book: www.neuralnine.com/books/
👕 Programming Merch: www.neuralnine.com/shop
🌐 Social Media & Contact 🌐
📱 Website: www.neuralnine.com/
📷 Instagram: / neuralnine
🐦 Twitter: / neuralnine
🤵 LinkedIn: / neuralnine
📁 GitHub: github.com/NeuralNine
🎙 Discord: / discord
🎵 Outro Music From: www.bensound.com/

Пікірлер: 115

  • @sarys5169
    @sarys51695 ай бұрын

    bro, what is amazing about your content is that you are able to explain complicated concepts with simple jargon. great job.

  • @ryun_d3v
    @ryun_d3v Жыл бұрын

    Much better than other tutorials that take longer and are more difficult to understand! Good job. Thanks!

  • @globalfinancetrading
    @globalfinancetrading7 ай бұрын

    Great explanation, thank you! Gives the answer and the reason why threading might be used (when you have multiple things you want to check without stopping and waiting for one item to complete first)

  • @ZettaBlitz
    @ZettaBlitz Жыл бұрын

    Your tutorial saved me man, it was so simple to follow through and understand when lots other articles that I've looked through couldn't, keep it up!

  • @Nik-rx9rj

    @Nik-rx9rj

    8 күн бұрын

    Agreed! They overcomplicate the concepts and explain too much right away

  • @ricardokers
    @ricardokers Жыл бұрын

    Great video, congratulations. I'm from Brazil and your videos are helping me to deepen my knowledge in Python, thank you.

  • @ExcelTutorials1
    @ExcelTutorials1 Жыл бұрын

    This is very very helpful. You did a great job explaining this. Thank you!!

  • @xiaoyangshawnhuang1251
    @xiaoyangshawnhuang125110 ай бұрын

    simplicity makes you shine, thank you so much for the sharing. well done.

  • @A.Ventin
    @A.Ventin11 ай бұрын

    Really great videos!! As a newcomer this is helping me a lot. Thanks!

  • @hello_world1221
    @hello_world12217 ай бұрын

    Thank you, bro. Your lessons are very helpful and easy to understand.

  • @Nik-rx9rj
    @Nik-rx9rj8 күн бұрын

    This was incredibly easy to understand. Thank you!

  • @_B_K_
    @_B_K_5 ай бұрын

    Well done. Easy to understand and follow.

  • @eclecticspirit4803
    @eclecticspirit4803Күн бұрын

    after watching many videos on multithreading , this one takes the point home

  • @tomasmunoz1641
    @tomasmunoz1641 Жыл бұрын

    Bro just wanted to thank you for such amazing content, the consistency with which you upload together with the widespan of python related content you cover is unparalleled hope the channel continues to grow

  • @robertcenusa8636

    @robertcenusa8636

    Жыл бұрын

    +1

  • @edwardsnowden8749

    @edwardsnowden8749

    10 ай бұрын

    Legit I had discovered this channel when he'd just posted his videos on python, and i saw how structured and complete his content was, and I knew at that time this channel deserved more followers, but I had nothing to do with python at that point. 2 years later, Here I am, doing a 6 month internship on Python, and i come to youtube to learn about Threading in python, and I land on this video.

  • @arhamsiddiqui2365
    @arhamsiddiqui23656 ай бұрын

    It cleared all my doubts ! Thanks !

  • @lowkeygaming4716
    @lowkeygaming4716 Жыл бұрын

    Another great vid. Very well explained.

  • @hayfahvytsen
    @hayfahvytsen6 ай бұрын

    Great concise explanation. Thanks!

  • @greasygoblin3541
    @greasygoblin3541 Жыл бұрын

    FINALLY someone who can explain this clearly!

  • @HosseinOjvar
    @HosseinOjvarАй бұрын

    Quick, Simple and Useful tutorial Many thanks ;)

  • @vSouthvPawv
    @vSouthvPawv3 ай бұрын

    You have the best coding tutorials on KZread. * clearly visible code * clear audio * clean, simple edits * pretty sure your intro has me Pavlov'd into focus mode

  • @Nik-rx9rj

    @Nik-rx9rj

    8 күн бұрын

    I miss the normal indicators of a coding tutorial though: fan noises, poor quality audio, and a thick accent that makes learning nearly impossible

  • @ramizballou5197
    @ramizballou51973 ай бұрын

    Very good tutorial - thanks for sharing and being so resourceful 👍👍

  • @bulavo
    @bulavo7 ай бұрын

    You make great, very understandable tutorials

  • @imrealgigachad
    @imrealgigachad Жыл бұрын

    Very nice video, keep going bro

  • @philipberthiaume2314
    @philipberthiaume231411 ай бұрын

    A bit of clarification. A tuple with a single value without the coma after it e.g. ("ABC",) will cast the value to a string. ("ABC") = "ABC". ("ABC",) = ("ABC").

  • @nonebusinessaccount496
    @nonebusinessaccount496Ай бұрын

    Thank you for the explanation. Very impressive.

  • @ashhar2408
    @ashhar24087 ай бұрын

    Great job! Fastest 8 minutes ever for me!

  • @jesssilver4244
    @jesssilver4244Ай бұрын

    Thanks man, this was really helpful.

  • @damianos.2954
    @damianos.2954 Жыл бұрын

    very nice explanation. Subscribed!!

  • @sabbha_mondal
    @sabbha_mondal Жыл бұрын

    Thank you so much for this... short and clear

  • @user-em2cl9qd9c
    @user-em2cl9qd9c5 ай бұрын

    thanks..."that daemon=True little snippet of info".....helped me save a problem in 4minutes ...regards and have a good time

  • @KuriSumireko
    @KuriSumirekoАй бұрын

    Thanks doc, helped me with my homework

  • @robvanbreemen6660
    @robvanbreemen6660 Жыл бұрын

    This is great. Thanks for sharing.

  • @Codebyakshay
    @Codebyakshay6 ай бұрын

    Ayy my man thankd very much for that tutorial i totally understand the concept 🙌

  • @GuitarLucius
    @GuitarLucius4 ай бұрын

    very well done mate. thank you..

  • @its_me_to
    @its_me_to2 ай бұрын

    Thank you for fast and simpel tutorial

  • @anglocon
    @anglocon10 ай бұрын

    Great video well explained

  • @patrickmaartense7772
    @patrickmaartense77724 ай бұрын

    very clearly explained...

  • @colocho1984
    @colocho19844 ай бұрын

    Hi, thanks for the video. I think the not deamon thread doesn’t stop in your video because the function is set to while True instead of while Done :)

  • @kharanhothi888
    @kharanhothi888 Жыл бұрын

    Great Video!

  • @naderbazyari2
    @naderbazyari29 ай бұрын

    Great video like everyone said. Ich bedanke mich. I just leave a comment for the algorithm to recommend it to more people

  • @ddam712
    @ddam712 Жыл бұрын

    beautifully done.

  • @malathinaik1971
    @malathinaik19713 ай бұрын

    thank you so much !!!

  • @SkyFly19853
    @SkyFly19853 Жыл бұрын

    Very useful for video game development.

  • @AliHamza-en8cn
    @AliHamza-en8cn Жыл бұрын

    Great video. Can you make video about create an installer of python scripts like installing normal software and show on control panel?

  • @techwizSon
    @techwizSon8 ай бұрын

    bro really help me understand thread

  • @greofficial980
    @greofficial9806 ай бұрын

    Great teacher

  • @tomernof3185
    @tomernof3185 Жыл бұрын

    Great explantion

  • @AngeloCarlotto
    @AngeloCarlotto26 күн бұрын

    thanks, nice content

  • @guilherme5094
    @guilherme5094 Жыл бұрын

    Really nice👍

  • @md.towfiqurrahman3316
    @md.towfiqurrahman33166 ай бұрын

    nice explanation

  • @user-uc8yc4vv1g
    @user-uc8yc4vv1g9 ай бұрын

    keep it going bro

  • @nishanthmungara29
    @nishanthmungara2910 ай бұрын

    You are amazing!!

  • @antonmazur6301
    @antonmazur63017 ай бұрын

    You know it's a good video if a dummy like me understood everything. Thank you very much!

  • @thekreb
    @thekreb4 ай бұрын

    OK... Finally a simple straightforward quick explanation of Python😅 threading

  • @derschatten8757
    @derschatten87576 ай бұрын

    thank you very much

  • @user-yq8rk9sk5e
    @user-yq8rk9sk5e Жыл бұрын

    Thank you!

  • @averystablegenius
    @averystablegenius11 ай бұрын

    In the threading examples, what is magic about the variable 'done'? Boolean references to this variable in the def were replaced with the constant True. How does the def know that 'done' has changed from False to True?

  • @wiseworks6880
    @wiseworks68805 ай бұрын

    Good high density tutorial.. I could have used some more explanation of join().

  • @Luc1an_
    @Luc1an_ Жыл бұрын

    Could you please also explain multithreading vs multiprocessing in the next video??

  • @BAMBAMBAMBAMBAMval

    @BAMBAMBAMBAMBAMval

    11 ай бұрын

    The way i understand it is that multiprocessing is just using more than 1 cpu core to do the task at hand. Multithreading would then be using a single core to do 2 or more operations "at once" by hopping back and forth between 2 or more tasks. Btw im fairly new to programming so i might be incorrect. If anyone can confirm please comment or something

  • @heco.

    @heco.

    11 ай бұрын

    ​​@@BAMBAMBAMBAMBAMvalyour're right

  • @TheEpicPineapple56

    @TheEpicPineapple56

    9 ай бұрын

    @@BAMBAMBAMBAMBAMval Hey, so this isn't quite true. Python can be quite a bit different from other languages and adhere to its own way of doing things sometimes, so as someone new to programming, you're probably getting a few misconceptions. Multiprocessing and multithreading are both ways of implementing "concurrency". "Concurrency" encompasses both real parallelism and the simulated "hopping back and forth" between different tasks. Multiprocessing differs from multithreading because it spawns an entire new child process through a process called "forking". You need to know what processes are to really get this, so essentially a process is like a miniature computer system; it has its own CPU registers, its own memory address space, its own PC counter, etc etc. It is like a little miniature box that was developed decades ago as a way to allow one computer to run multiple programs at the same time. A child process contains a copy of every variable, every object, etc in the parent process at the time that it was forked. These two processes now run at the same time. On a single-core machine, the CPU would be bouncing around doing tasks for both processes at the same time. On a multi-core machine, sometimes the two processes would literally, physically be running at the same time on different physical cores that the CPU has. In practice, this is called "multiplexing" and it is the job of the operating system and the CPU scheduling hardware to adequately schedule the hundreds of different processes that run on a computer. There are a few stages that a process can live in: "new", "ready", "running", "waiting", and "terminated" (this depends on your OS as well, I am talking about Unix operating systems mostly). Threads are a lighter-weight way of implementing concurrency. Threads do not have their own address space the same that processes do, and they do not make copies of any variables. Threads are essentially just there to execute instructions and operate on the same data that already exists in the main process. Because of that, it is very important to synchronize threads and make sure that when they are interacting with data, they avoid creating situations called race conditions. As a programmer, you need to implement/use things like locks, mutexes (mutual exclusions), and semaphores to make sure that data is accessed in the correct way. With all that being said, threads also give concurrency, which may be real parallelism or maybe "fake" parallelism achieved through time multiplexing. Threads live on different levels of the operating system too. Some are user threads, like the ones in Python. Others are kernel level threads, which have permission to interact directly with the hardware. And of course there are hardware threads, which are the 4 cores, 8 cores, 16 cores, etc that you have on your CPU. If your computer has 16 cores and is running more than 16 processes and threads, then it is 100% doing some level of time multiplexing. It is impossible to not do that. But there are always at least 16 processes/threads that are truly executing in parallel, unless you write some code that stalls them. I know that was a lot, and there is lot of nuance that I missed so for anyone that reads who knows better I apologize lol Just wanted to give a quick rundown of the differences, similarities, and how you really need to get to the hardware and operating system level of things to understand what is going on. Python abstracts all of that away which makes it difficult to see.

  • @BAMBAMBAMBAMBAMval

    @BAMBAMBAMBAMBAMval

    9 ай бұрын

    @@TheEpicPineapple56 hey thanks for taking the time to explain all that

  • @jayeshsakhiya2405
    @jayeshsakhiya2405 Жыл бұрын

    Hi, i have a question? what if i want to add like , when press enter the value of counter value change to less one, and after this it works as from this value. please reply

  • @mmmm-uc8ed
    @mmmm-uc8ed Жыл бұрын

    Top g of programming

  • @tianeric9987
    @tianeric99876 күн бұрын

    thanks for the tutorial, btw dude you really look like the "Nacho" from better call saul 😆

  • @pushpendratripathi46
    @pushpendratripathi46 Жыл бұрын

    Thanks 👍

  • @syshack3rz
    @syshack3rz Жыл бұрын

    Can you explain asyncio and why everyone uses it instead of threading nowadays

  • @vaulttectradingco8438
    @vaulttectradingco8438 Жыл бұрын

    Threading is so much nerfed in Python that async often beat it

  • @-_Nuke_-

    @-_Nuke_-

    4 ай бұрын

    Is there a language that's like python (as similar as possible) but also supports true multi threading?

  • @papalaplace

    @papalaplace

    Ай бұрын

    @@-_Nuke_-you could look into Scala

  • @acromatic0189
    @acromatic01897 ай бұрын

    thank you

  • @davidgood840
    @davidgood8409 ай бұрын

    Does this method still work if one thread makes calls to blocking functions inside a foreign dll ?

  • @augustwillevage8288
    @augustwillevage8288 Жыл бұрын

    amazing!

  • @-_Nuke_-
    @-_Nuke_-4 ай бұрын

    Does java support true multi threading? Meaning assigning different code to run in true parallel in separate threads in my CPU?

  • @superkorki98
    @superkorki98 Жыл бұрын

    Next video about multiprocessing pls

  • @anonfourtyfive
    @anonfourtyfive9 ай бұрын

    Hi, anyone can answer me about args in a thread, isn't a list by default ? I always pass a list as args, if you only have one, you only pass one, why a tuple exactly ?

  • @yosef_ii
    @yosef_ii5 ай бұрын

    YOU HELPED ME SO MUCH THANK YOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

  • @PCs454
    @PCs4543 ай бұрын

    When i make a thread, i get a RuntimeError: There is no current event loop in thread 'Thread-1 i copied some code that uses something called *asyncio* ? but i do not understand what this means or does exactly :( could someone please explain this breifly. or are there other parts to this video? thanks 🙏🙏

  • @evanhearne-witstudentappli1182
    @evanhearne-witstudentappli118210 ай бұрын

    I must say, you charge very reasonably for your paperback books. I think that's great.

  • @vinceoldenhof7117
    @vinceoldenhof71177 күн бұрын

    I love learning python from Vaas

  • @powerdust015lastname4
    @powerdust015lastname4 Жыл бұрын

    i’ve heard that python 3.14 will be up to 5 times faster. do you think it is possible, that python will get real multithreading?

  • @younesdeveloper
    @younesdeveloperАй бұрын

    amazing

  • @dipeshsharma6504
    @dipeshsharma6504 Жыл бұрын

    can you make a video on threadpool executor please

  • @gecko_ecco2017
    @gecko_ecco20175 ай бұрын

    Can someone explain why the "args" takes a tuple if you use () or a list [] but not a single argument? and what argument takes "kwargs"?

  • @drkhrp
    @drkhrp Жыл бұрын

    thanks

  • @AmodeusR
    @AmodeusR8 ай бұрын

    I didn't get how the code stopped running when you pressed enter. Why only when you pressed enter it went after the print? For what I know the code should be executed right after the print, making so the counter wouldn't even happen since done would be set to True before it could start.

  • @hexist77yt
    @hexist77yt Жыл бұрын

    great video! i joined DC, but cannot verify with my phone, im afraid it could be leaked, what should i do?

  • @Reall
    @Reall2 ай бұрын

    My question is if the thread hasn't finished can you still access it if you exited after

  • @Jorge_AS_Fernandes
    @Jorge_AS_Fernandes Жыл бұрын

    I learn something :)

  • @Lorryduckie2
    @Lorryduckie24 ай бұрын

    this was not cristal clear to me but probabely need to get deeper in other concepts before jumping to threads. nevertheless quality content thanks

  • @fadhlurrohmanfaqih480
    @fadhlurrohmanfaqih4802 ай бұрын

    Hi there, I face a problem that I can't solve. I'm setting my code to daemon thread (while True, daemon=True, and also done=True), but after I press enter the code still running, I need to set "while not done" to get a proper result (but the code still printing another 1 number after I press the enter). Can you please tell me what happened sir? Thankyou

  • @fadhlurrohmanfaqih480

    @fadhlurrohmanfaqih480

    2 ай бұрын

    oh I'm using jupyter notebook to run the code

  • @ambientsoda106
    @ambientsoda106 Жыл бұрын

    how do you embed thread sin classes to run functions?

  • @nicules2177

    @nicules2177

    10 ай бұрын

    hyperpush the thread

  • @alvaronorambuena2254
    @alvaronorambuena22547 ай бұрын

    genio

  • @willyhorizont8672
    @willyhorizont8672 Жыл бұрын

    how to combine threading with schedule?

  • @LucasDavid-ix3tw
    @LucasDavid-ix3tw4 ай бұрын

    Im copying the exactly same code from the video but my input It is not stoping the loop. Why? :/

  • @emrecagr6314
    @emrecagr63145 ай бұрын

    you looks like Michael Mando so much man :) check it

  • @JustinMacri007
    @JustinMacri007 Жыл бұрын

    I want to be freinds with this guy talk python I need more info like I see you cab create anything you want

  • @PokettoMusic
    @PokettoMusic4 ай бұрын

    based

  • @rusticagenerica
    @rusticagenerica25 күн бұрын

    How to get real multi thr?

  • @user-mm4jd9yc1f
    @user-mm4jd9yc1f5 ай бұрын

    Devil 😈😈😈😈

  • @TheMONS7ER
    @TheMONS7ER Жыл бұрын

    a celery in 8 minutes?

  • @rabibasukala7816
    @rabibasukala7816 Жыл бұрын

    gg

  • @Codebyakshay
    @Codebyakshay6 ай бұрын

    God u have beautiful eyes i was distracted 😂

  • @umidradjabov7710
    @umidradjabov7710 Жыл бұрын

    Can your help me?,how make file manager in dearpygui?

  • @Ricocase
    @Ricocase Жыл бұрын

    What's a daemon?

  • @dandaman4985
    @dandaman49857 ай бұрын

    Fake threading! What is the point ...

Келесі