No video

Python Threading Explained in 8 Minutes

  Рет қаралды 140,819

NeuralNine

NeuralNine

Күн бұрын

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

Пікірлер: 132
@southVpaw
@southVpaw 6 ай бұрын
You have the best coding tutorials on KZfaq. * clearly visible code * clear audio * clean, simple edits * pretty sure your intro has me Pavlov'd into focus mode
@Nik-rx9rj
@Nik-rx9rj 3 ай бұрын
I miss the normal indicators of a coding tutorial though: fan noises, poor quality audio, and a thick accent that makes learning nearly impossible
@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 3 ай бұрын
Agreed! They overcomplicate the concepts and explain too much right away
@sarys5169
@sarys5169 7 ай бұрын
bro, what is amazing about your content is that you are able to explain complicated concepts with simple jargon. great job.
@Shoaib_Khan9272
@Shoaib_Khan9272 22 сағат бұрын
I dont know why but i am addicted to your intro
@NeuralNine
@NeuralNine 19 сағат бұрын
Happy to hear that! :)
@ryun_d3v
@ryun_d3v Жыл бұрын
Much better than other tutorials that take longer and are more difficult to understand! Good job. Thanks!
@aym6590
@aym6590 19 күн бұрын
bro is changing lives with a single video 🙏 thanks man
@passportbro904
@passportbro904 14 күн бұрын
facts, im actually thinking im junior developer now lol
@GeorgeKahi
@GeorgeKahi Ай бұрын
thank you so much! ive been looking for a video like this that ACTUALLY WORKS and this is the only one i could find after several hours of research
@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 Жыл бұрын
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.
@JoeDerasEspinoza
@JoeDerasEspinoza Ай бұрын
this was such a help dude, I was struggling with the threads and turning the non principal threads into daemons was the thing I was missing
@cleclemieumieu4709
@cleclemieumieu4709 10 сағат бұрын
Thanks a lot for that video man, i had some issues with a python program, i saw your video, then i only changed like a few lines in the program, and i had no issues anymore :)
@globalfinancetrading
@globalfinancetrading 10 ай бұрын
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)
@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!!
@philipberthiaume2314
@philipberthiaume2314 Жыл бұрын
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").
@eclecticspirit4803
@eclecticspirit4803 2 ай бұрын
after watching many videos on multithreading , this one takes the point home
@colocho1984
@colocho1984 7 ай бұрын
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 :)
@Luc1an_
@Luc1an_ Жыл бұрын
Could you please also explain multithreading vs multiprocessing in the next video??
@BAMBAMBAMBAMBAMval
@BAMBAMBAMBAMBAMval Жыл бұрын
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. Жыл бұрын
​​@@BAMBAMBAMBAMBAMvalyour're right
@TheEpicPineapple56
@TheEpicPineapple56 Жыл бұрын
@@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 Жыл бұрын
@@TheEpicPineapple56 hey thanks for taking the time to explain all that
@A.Ventin
@A.Ventin Жыл бұрын
Really great videos!! As a newcomer this is helping me a lot. Thanks!
@hello_world1221
@hello_world1221 9 ай бұрын
Thank you, bro. Your lessons are very helpful and easy to understand.
@tianeric9987
@tianeric9987 3 ай бұрын
thanks for the tutorial, btw dude you really look like the "Nacho" from better call saul 😆
@Nik-rx9rj
@Nik-rx9rj 3 ай бұрын
This was incredibly easy to understand. Thank you!
@imrealgigachad
@imrealgigachad Жыл бұрын
Very nice video, keep going bro
@user-em2cl9qd9c
@user-em2cl9qd9c 8 ай бұрын
thanks..."that daemon=True little snippet of info".....helped me save a problem in 4minutes ...regards and have a good time
@_B_K_
@_B_K_ 7 ай бұрын
Well done. Easy to understand and follow.
@greasygoblin3541
@greasygoblin3541 Жыл бұрын
FINALLY someone who can explain this clearly!
@vaulttectradingco8438
@vaulttectradingco8438 Жыл бұрын
Threading is so much nerfed in Python that async often beat it
@-_Nuke_-
@-_Nuke_- 7 ай бұрын
Is there a language that's like python (as similar as possible) but also supports true multi threading?
@papalaplace
@papalaplace 4 ай бұрын
@@-_Nuke_-you could look into Scala
@darkhippo6222
@darkhippo6222 3 күн бұрын
Python 3.13 will have an experimental mode with the GIL deactivated, stay tuned :)
@antonmazur6301
@antonmazur6301 10 ай бұрын
You know it's a good video if a dummy like me understood everything. Thank you very much!
@HosseinOjvar
@HosseinOjvar 4 ай бұрын
Quick, Simple and Useful tutorial Many thanks ;)
@tomifadiora8184
@tomifadiora8184 2 ай бұрын
let it be known that this man is a goddamn legend
@xiaoyangshawnhuang1251
@xiaoyangshawnhuang1251 Жыл бұрын
simplicity makes you shine, thank you so much for the sharing. well done.
@its_me_to
@its_me_to 4 ай бұрын
Thank you for fast and simpel tutorial
@ashhar2408
@ashhar2408 9 ай бұрын
Great job! Fastest 8 minutes ever for me!
@arhamsiddiqui2365
@arhamsiddiqui2365 9 ай бұрын
It cleared all my doubts ! Thanks !
@KuriSumireko
@KuriSumireko 4 ай бұрын
Thanks doc, helped me with my homework
@ramizballou5197
@ramizballou5197 6 ай бұрын
Very good tutorial - thanks for sharing and being so resourceful 👍👍
@thekreb
@thekreb 7 ай бұрын
OK... Finally a simple straightforward quick explanation of Python😅 threading
@moibe182
@moibe182 2 ай бұрын
Nice and straight to the point!, thanks!!!
@naderbazyari2
@naderbazyari2 Жыл бұрын
Great video like everyone said. Ich bedanke mich. I just leave a comment for the algorithm to recommend it to more people
@cosmic_classroom_
@cosmic_classroom_ Ай бұрын
superb video
@bulavo
@bulavo 10 ай бұрын
You make great, very understandable tutorials
@kharanhothi888
@kharanhothi888 Жыл бұрын
Great Video!
@nonebusinessaccount496
@nonebusinessaccount496 4 ай бұрын
Thank you for the explanation. Very impressive.
@lanadelreyedits2234
@lanadelreyedits2234 2 ай бұрын
That was awsome, thank you so much for sharing your knowledge.
@SkyFly19853
@SkyFly19853 Жыл бұрын
Very useful for video game development.
@lowkeygaming4716
@lowkeygaming4716 Жыл бұрын
Another great vid. Very well explained.
@jesssilver4244
@jesssilver4244 4 ай бұрын
Thanks man, this was really helpful.
@hayfahvytsen
@hayfahvytsen 9 ай бұрын
Great concise explanation. Thanks!
@patrickmaartense7772
@patrickmaartense7772 7 ай бұрын
very clearly explained...
@Codebyakshay
@Codebyakshay 9 ай бұрын
Ayy my man thankd very much for that tutorial i totally understand the concept 🙌
@anonfourtyfive
@anonfourtyfive Жыл бұрын
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 ?
@sabbha_mondal
@sabbha_mondal Жыл бұрын
Thank you so much for this... short and clear
@wiseworks6880
@wiseworks6880 7 ай бұрын
Good high density tutorial.. I could have used some more explanation of join().
@user-ns4db4yk6c
@user-ns4db4yk6c 2 ай бұрын
amazing!
@techwizSon
@techwizSon 11 ай бұрын
bro really help me understand thread
@averystablegenius
@averystablegenius Жыл бұрын
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?
@syshack3rz
@syshack3rz Жыл бұрын
Can you explain asyncio and why everyone uses it instead of threading nowadays
@damianos.2954
@damianos.2954 Жыл бұрын
very nice explanation. Subscribed!!
@greofficial980
@greofficial980 9 ай бұрын
Great teacher
@vinceoldenhof7117
@vinceoldenhof7117 3 ай бұрын
I love learning python from Vaas
@GuitarLucius
@GuitarLucius 6 ай бұрын
very well done mate. thank you..
@malathinaik1971
@malathinaik1971 6 ай бұрын
thank you so much !!!
@Qbiccx
@Qbiccx 2 ай бұрын
What exactly makes it only recognize "Enter" as a correct input for triggering done?
@robvanbreemen6660
@robvanbreemen6660 Жыл бұрын
This is great. Thanks for sharing.
@Reall
@Reall 5 ай бұрын
My question is if the thread hasn't finished can you still access it if you exited after
@gecko_ecco2017
@gecko_ecco2017 8 ай бұрын
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"?
@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?
@derschatten8757
@derschatten8757 9 ай бұрын
thank you very much
@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?
@anglocon
@anglocon Жыл бұрын
Great video well explained
@md.towfiqurrahman3316
@md.towfiqurrahman3316 8 ай бұрын
nice explanation
@AngeloCarlotto
@AngeloCarlotto 3 ай бұрын
thanks, nice content
@yosef_ii
@yosef_ii 8 ай бұрын
YOU HELPED ME SO MUCH THANK YOUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
@-_Nuke_-
@-_Nuke_- 7 ай бұрын
Does java support true multi threading? Meaning assigning different code to run in true parallel in separate threads in my CPU?
@AmodeusR
@AmodeusR 11 ай бұрын
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.
@acromatic0189
@acromatic0189 10 ай бұрын
thank you
@evanhearne-witstudentappli1182
@evanhearne-witstudentappli1182 Жыл бұрын
I must say, you charge very reasonably for your paperback books. I think that's great.
@user-yq8rk9sk5e
@user-yq8rk9sk5e Жыл бұрын
Thank you!
@ddam712
@ddam712 Жыл бұрын
beautifully done.
@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
@Lorryduckie2
@Lorryduckie2 7 ай бұрын
this was not cristal clear to me but probabely need to get deeper in other concepts before jumping to threads. nevertheless quality content thanks
@tomernof3185
@tomernof3185 Жыл бұрын
Great explantion
@mmmm-uc8ed
@mmmm-uc8ed Жыл бұрын
Top g of programming
@LucasDavid-ix3tw
@LucasDavid-ix3tw 7 ай бұрын
Im copying the exactly same code from the video but my input It is not stoping the loop. Why? :/
@PCs454
@PCs454 5 ай бұрын
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 🙏🙏
@nishanthmungara29
@nishanthmungara29 Жыл бұрын
You are amazing!!
@user-uc8yc4vv1g
@user-uc8yc4vv1g Жыл бұрын
keep it going bro
@ed223-p5g
@ed223-p5g Жыл бұрын
Next video about multiprocessing pls
@guilherme5094
@guilherme5094 Жыл бұрын
Really nice👍
@fadhlurrohmanfaqih480
@fadhlurrohmanfaqih480 5 ай бұрын
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 5 ай бұрын
oh I'm using jupyter notebook to run the code
@hexist77yt
@hexist77yt Жыл бұрын
great video! i joined DC, but cannot verify with my phone, im afraid it could be leaked, what should i do?
@davidgood840
@davidgood840 Жыл бұрын
Does this method still work if one thread makes calls to blocking functions inside a foreign dll ?
@pushpendratripathi46
@pushpendratripathi46 Жыл бұрын
Thanks 👍
@willyhorizont8672
@willyhorizont8672 Жыл бұрын
how to combine threading with schedule?
@dipeshsharma6504
@dipeshsharma6504 Жыл бұрын
can you make a video on threadpool executor please
@younesdeveloper
@younesdeveloper 4 ай бұрын
amazing
@drkhrp
@drkhrp Жыл бұрын
thanks
@ambientsoda106
@ambientsoda106 Жыл бұрын
how do you embed thread sin classes to run functions?
@nicules2177
@nicules2177 Жыл бұрын
hyperpush the thread
@Jorge_AS_Fernandes
@Jorge_AS_Fernandes Жыл бұрын
I learn something :)
@emrecagr6314
@emrecagr6314 8 ай бұрын
you looks like Michael Mando so much man :) check it
@rusticagenerica
@rusticagenerica 3 ай бұрын
How to get real multi thr?
@SquollLeonchart
@SquollLeonchart 17 күн бұрын
Use multiprocessing and extra hardware
Python Object Oriented Programming in 10 minutes 🐍
10:04
Bro Code
Рет қаралды 380 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 36 МЛН
Dad Makes Daughter Clean Up Spilled Chips #shorts
00:16
Fabiosa Stories
Рет қаралды 3 МЛН
Violet Beauregarde Doll🫐
00:58
PIRANKA
Рет қаралды 34 МЛН
🩷🩵VS👿
00:38
ISSEI / いっせい
Рет қаралды 27 МЛН
threading vs multiprocessing in python
22:31
Dave's Space
Рет қаралды 575 М.
10 Important Python Concepts In 20 Minutes
18:49
Indently
Рет қаралды 65 М.
Multithreading Code - Computerphile
15:54
Computerphile
Рет қаралды 383 М.
Python 101: Learn the 5 Must-Know Concepts
20:00
Tech With Tim
Рет қаралды 1,1 МЛН
PLEASE Use These 5 Python Decorators
20:12
Tech With Tim
Рет қаралды 108 М.
Unlocking your CPU cores in Python (multiprocessing)
12:16
mCoding
Рет қаралды 301 М.
AsyncIO & Asynchronous Programming in Python
12:28
NeuralNine
Рет қаралды 153 М.
5 Good Python Habits
17:35
Indently
Рет қаралды 507 М.
Scheduling Tasks Professionally in Python
14:08
NeuralNine
Рет қаралды 86 М.
This Dumbbell Is Impossible To Lift!
01:00
Stokes Twins
Рет қаралды 36 МЛН