Python multithreading 🧵

  Рет қаралды 65,680

Bro Code

Bro Code

Күн бұрын

Пікірлер: 86
@BroCodez
@BroCodez 3 жыл бұрын
# ****************************************************** # Python threading tutorial # ****************************************************** # thread = a flow of execution. Like a separate order of instructions. # However each thread takes a turn running to achieve concurrency # GIL = (global interpreter lock), # allows only one thread to hold the control of the Python interpreter at any one time # cpu bound = program/task spends most of it's time waiting for internal events (CPU intensive) # use multiprocessing # io bound = program/task spends most of it's time waiting for external events (user input, web scraping) # use multithreading import threading import time def eat_breakfast(): time.sleep(3) print("You eat breakfast") def drink_coffee(): time.sleep(4) print("You drank coffee") def study(): time.sleep(5) print("You finish studying") x = threading.Thread(target=eat_breakfast, args=()) x.start() y = threading.Thread(target=drink_coffee, args=()) y.start() z = threading.Thread(target=study, args=()) z.start() x.join() y.join() z.join() print(threading.active_count()) print(threading.enumerate()) print(time.perf_counter()) # ******************************************************
@blizni3371
@blizni3371 2 жыл бұрын
If you have problem with huge amount of time displaying by time.perf_counter() function here you have solve of this problem: We can read in documentation: time.perf_counter() [...] The reference point of the returned value is undefined, so that only the difference between the results of two calls is valid. So to solve it we have to declare variable before our code, for example: starting_point = time.perf_counter() ... our code here ... print (time.perf_counter() - starting_point)
@KudoShinichii1412
@KudoShinichii1412 Жыл бұрын
thank you I understood that , but I am really wondering why did not happen to him
@Mildic
@Mildic Жыл бұрын
wow man thank you very much, i was looking at my code for like 10 minutes and couldnt figure it out
@NoPo1nt
@NoPo1nt Жыл бұрын
came here just for this. thank you
@lukaskelber
@lukaskelber 11 ай бұрын
@@KudoShinichii1412 Same, does anyone know why Bro didn't have to subtract two perf counters? Is there maybe some setting for this?
@Dmitopur
@Dmitopur 11 ай бұрын
Thx! I think without your solution that function counted seconds from the point of my pc was turned on.
@AmmarAlIessa
@AmmarAlIessa 2 жыл бұрын
Really like how you go to the heart of the subject.. Concise and clear... Thanks..
@thepragmatic6383
@thepragmatic6383 Жыл бұрын
Thank you for these clear and precise explanations. As I am new to Python, this becomes very practical for my learning.
@d1jn
@d1jn 2 жыл бұрын
I really like how you explain everything so simply and quickly. Keep it up man !
@kyokokirigiri166
@kyokokirigiri166 Жыл бұрын
I second that!
@waynefrannedavis9305
@waynefrannedavis9305 8 ай бұрын
Interesting to see how Python addresses multi-processing and synchronization when compared to Elixir which is my go to language. At 75 years old, I am finally looking at object-orientation.
@ilyassbabkhouti
@ilyassbabkhouti Жыл бұрын
This is brilliant . Excellent explanation !!! 👏👏👏
@infinitecrafterYT
@infinitecrafterYT Жыл бұрын
nice video bro
@entity5678
@entity5678 2 жыл бұрын
Such a wonderful explanation..
@lawrencedoliveiro9104
@lawrencedoliveiro9104 2 жыл бұрын
For I/O bound problems, it is better to use asyncio than threads. This gives less opportunity for race conditions and their consequent hard-to-reproduce bugs.
@piotrkopcewicz5227
@piotrkopcewicz5227 Жыл бұрын
dobrze rozkminione :) Dziekowa
@SleepyAizawa69
@SleepyAizawa69 Жыл бұрын
Firstly thank you bro Secondly if you guys have problem with main thread not printing 4then you must delete the() for writting the function in x=threading.thread()
@baldwin9207
@baldwin9207 Жыл бұрын
i was wondering why mine was different. thx!
@autoauto2000
@autoauto2000 8 ай бұрын
@@baldwin9207but why, now it works
@samuellopez5155
@samuellopez5155 2 жыл бұрын
great explanation, loved the theory before the actual code
@ilhamm1915
@ilhamm1915 Жыл бұрын
THAT IS ACTUALLY REALLY COOL NGL
@ugurbayrak9869
@ugurbayrak9869 2 жыл бұрын
>>> Very consistent explanation :) >>> Could you please do this kind of tuts regarding python standart libr modules like Struct, OS, SubProcess and Select ? >>> Have a good time
@VenkataChalaBhaskar
@VenkataChalaBhaskar Жыл бұрын
Excellent Explanation !!!
@ilordepic
@ilordepic 2 жыл бұрын
hope the algorithm blesses your channel
@felixnyamongo
@felixnyamongo 2 жыл бұрын
Understood in one go. Good work bro
@FabioRBelotto
@FabioRBelotto Жыл бұрын
I would like that you showed an example like this : you can eat and drink at same time, but you must finish such activities to study.
@shuaibalghazali3405
@shuaibalghazali3405 Жыл бұрын
Thanks for this
@giaxlab
@giaxlab 2 жыл бұрын
Super, finally i learn this argument! :) Nice work!!!
@lw9954
@lw9954 2 жыл бұрын
TY bro
@bekturasanbekov1979
@bekturasanbekov1979 Жыл бұрын
thx 4 vid br o!
@Johann.Liebert
@Johann.Liebert Жыл бұрын
so simply, thankss
@aliforootani9348
@aliforootani9348 2 жыл бұрын
great explanation, thanks
@Sstevewong36
@Sstevewong36 8 ай бұрын
great
@rubenc4696
@rubenc4696 5 ай бұрын
thakns
@brianwake100
@brianwake100 2 жыл бұрын
Great video thanks
@gamerawesome8105
@gamerawesome8105 3 жыл бұрын
you sir are the best
@aaroncatolico7550
@aaroncatolico7550 2 жыл бұрын
Even though you sound like 'Butthead' from 'Beavis & Butthead', I still love you 'Bro'. And thanks for your awesome tutorials. 👍🏻👍🏻
@kamlesht.j9366
@kamlesht.j9366 Жыл бұрын
brooo you da bestt!!
@EissaAlahdul
@EissaAlahdul 2 жыл бұрын
شكرا جزيلا
@BaminIce
@BaminIce 3 ай бұрын
Print("Amazing")
@dolevdo
@dolevdo 2 жыл бұрын
amazing thank!s
@HussainAli-sb1dv
@HussainAli-sb1dv 11 ай бұрын
love u
@nirutg5130
@nirutg5130 3 жыл бұрын
Thank you very much
@beingzero7541
@beingzero7541 2 жыл бұрын
Wow!!!!!
@ahiamatagabriel5696
@ahiamatagabriel5696 2 жыл бұрын
thank youuu
@Daniel-cl6hj
@Daniel-cl6hj 3 жыл бұрын
breh.... this is so clear...
@philtoa334
@philtoa334 3 жыл бұрын
Nice.
@SuperStarEevee
@SuperStarEevee 2 жыл бұрын
Thank you!
@charan2446
@charan2446 2 жыл бұрын
Bro.. 👏 Heads down.
@Amir_Plays_non_stop
@Amir_Plays_non_stop 3 жыл бұрын
Crystal Clear!
@xcorpionxyed2078
@xcorpionxyed2078 2 жыл бұрын
Hey bro I've a problem. Whenever I write my own code (following the same procedure) it shows only 1 thread and takes allotted time, but when I copy the given description code it and paste it, shows the 4 threads Can't figure out why is it happening??
@airexpertdrop
@airexpertdrop 3 жыл бұрын
oh yea its cool
@RenovaLabs
@RenovaLabs 6 ай бұрын
Bro, Do they only work with functions?
@uuhju7004
@uuhju7004 3 жыл бұрын
nice
@moisesherrera71
@moisesherrera71 7 ай бұрын
but what if a function returns a value, how should we write that so we have the function in a separate thread then main but we can capture the return value of the function
@gustavoaponte1814
@gustavoaponte1814 Жыл бұрын
meow~! uwu
@Pjnpm
@Pjnpm 3 жыл бұрын
Make a tutorial for flutter please beer is on me 🍺
@ClydeKilgore-df8hy
@ClydeKilgore-df8hy 6 ай бұрын
Why do I get the following error after importing threading and attempting to use it? AttributeError: partially initialized module 'threading' has no attribute 'Thread' (most likely due to a circular import) same message when I use active_count()
@ClydeKilgore-df8hy
@ClydeKilgore-df8hy 6 ай бұрын
nevermind. figured it out.
@manuelvaal1257
@manuelvaal1257 2 жыл бұрын
My main tread is taking 734078.1110504 seconds to complete its task. what possibly could be the issue?
@hinter9907
@hinter9907 2 жыл бұрын
the solution: # add this line just before running x.start() start_time = time.perf_counter() # add these lines after z.join end_time = time.perf_counter() delta_time = end_time - start_time print(delta_time)
@cinquecento1985
@cinquecento1985 2 жыл бұрын
yeah.. multi threading in the morning.. sounds familiar. like brushing teeth while getting the pants on.. =)
@autoauto2000
@autoauto2000 8 ай бұрын
does not work 4 me?? how to unlock gil in pycharm
@estudio7753
@estudio7753 2 жыл бұрын
ate
@aiviral_
@aiviral_ 3 жыл бұрын
Hey I got this problem with Python showing 34568.4580 seconds while it only takes 3-4 seconds and it's not the only case in which this happens. Does anyone know how to display seconds correcty?
@wilsonsoeparman8574
@wilsonsoeparman8574 2 жыл бұрын
Yup, me too
@mittlope2723
@mittlope2723 2 жыл бұрын
just divide it with 10,000 and you will get 3.4 secs
@mm-fn9uj
@mm-fn9uj 2 жыл бұрын
somewhy i have 374690.9 seconds
@hinter9907
@hinter9907 2 жыл бұрын
the solution: # add this line just before running x.start() start_time = time.perf_counter() # add these lines after z.join end_time = time.perf_counter() delta_time = end_time - start_time print(delta_time)
@techboomers8935
@techboomers8935 2 жыл бұрын
Kindly revealed your face , we want to sees a person who know every language exist in this world
@reinkdesigns
@reinkdesigns 2 жыл бұрын
should i be concerned that when i run the same code as you i get "590447.4203372" returned from "print(time.perf_counter())"
@ramanuj_g
@ramanuj_g 2 жыл бұрын
check above comments as the answer is there above.... nothing to be concerned just u have to add start time and subtract it from end time
@peesnlav
@peesnlav 2 жыл бұрын
for some reason my main thread waits for the other 3 threads to finish before it executes the print functions. i wrote the exact same code he wrote. anyone have an idea?
@blizni3371
@blizni3371 2 жыл бұрын
Hello, you probably wrote parentheses when declaring - target= for example: x = threading.Thread(target=eat_breakfast(), args=()) Remove this and let's check again :)
@stevemiller123
@stevemiller123 2 жыл бұрын
I have the exact same issue, did you resolve it? Even when copying and pasting the code from the description. It's behaving as if I joined all the threads even when I haven't. So when I actually write, x.join(), y.join(), z,join().. the behaver is the same.
@MrPsichoKid
@MrPsichoKid Жыл бұрын
@@blizni3371 jesus Christ, thanks man, i was in a hole for like 2 hourse before figuring out this!
@blizni3371
@blizni3371 Жыл бұрын
@@MrPsichoKid No problem!
@ligdjumvidja8294
@ligdjumvidja8294 9 ай бұрын
Thanks a lot my friend ! Iwas trying to figure out why my example was faulty @@blizni3371
@ixmjk
@ixmjk 3 жыл бұрын
Thank you Bro i run the exact same code but for me the time.perf_counter() returns a really big value for time taken sth like 11929.1326382 but in reality it takes 5 to 6 seconds to run i search online for solutions but nothing came out. Any solutions?
@aiviral_
@aiviral_ 3 жыл бұрын
I got the same issue :\
@wilsonsoeparman8574
@wilsonsoeparman8574 2 жыл бұрын
Me too
@lawrencedoliveiro9104
@lawrencedoliveiro9104 2 жыл бұрын
Are you taking the difference between values? Because the zero point is implementation-defined.
@nakiros24
@nakiros24 2 жыл бұрын
this worked for me: import threading import time def eat_breakfast(): time.sleep(3) print("You eat breakfast") def drink_coffee(): time.sleep(4) print("You drank coffee") def study(): time.sleep(5) print("You finish studying") begin_time = time.perf_counter() x = threading.Thread(target=eat_breakfast, args=()) x.start() y = threading.Thread(target=drink_coffee, args=()) y.start() z = threading.Thread(target=study, args=()) z.start() x.join() y.join() z.join() print(threading.active_count()) print(threading.enumerate()) print(time.perf_counter()-begin_time)
The New Python 3.13 Is FINALLY Here!
20:39
ArjanCodes
Рет қаралды 49 М.
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 2,9 МЛН
ТИПИЧНОЕ ПОВЕДЕНИЕ МАМЫ
00:21
SIDELNIKOVVV
Рет қаралды 1,3 МЛН
Don't look down on anyone#devil  #lilith  #funny  #shorts
00:12
Devil Lilith
Рет қаралды 45 МЛН
10 Important Python Concepts In 20 Minutes
18:49
Indently
Рет қаралды 188 М.
threading vs multiprocessing in python
22:31
Dave's Space
Рет қаралды 585 М.
25 nooby Python habits you need to ditch
9:12
mCoding
Рет қаралды 1,8 МЛН
Python multiprocessing ⚡
9:31
Bro Code
Рет қаралды 29 М.
Multithreading in Java Explained in 10 Minutes
10:01
Coding with John
Рет қаралды 935 М.
Multithreading Code - Computerphile
15:54
Computerphile
Рет қаралды 385 М.
Unlocking your CPU cores in Python (multiprocessing)
12:16
mCoding
Рет қаралды 306 М.
Learn Python OOP in under 20 Minutes
18:32
Indently
Рет қаралды 61 М.
Python 101: Learn the 5 Must-Know Concepts
20:00
Tech With Tim
Рет қаралды 1,2 МЛН
5 Useful F-String Tricks In Python
10:02
Indently
Рет қаралды 315 М.
Бенчик, пора купаться! 🛁 #бенчик #арти #симбочка
00:34
Симбочка Пимпочка
Рет қаралды 2,9 МЛН