No video

Concurrency Vs Parallelism!

  Рет қаралды 71,910

ByteByteGo

ByteByteGo

Күн бұрын

Get a Free System Design PDF with 158 pages by subscribing to our weekly newsletter: bit.ly/bytebyt...
Animation tools: Adobe Illustrator and After Effects.
Checkout our bestselling System Design Interview books:
Volume 1: amzn.to/3Ou7gkd
Volume 2: amzn.to/3HqGozy
The digital version of System Design Interview books: bit.ly/3mlDSk9
ABOUT US:
Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

Пікірлер: 63
@dejanualex
@dejanualex Ай бұрын
"Concurrency is about dealing with lots of things at once. Parallelism is about doing lots of things at once." R. Pike
@Rishi_Khandelwal
@Rishi_Khandelwal 3 күн бұрын
What do you mean by dealing and doing? Please clarify.
@dejanualex
@dejanualex 3 күн бұрын
@@Rishi_Khandelwal Although concurrency and parallelism are related concepts in terms of concurrent programming and can be used together, they aren't the same thing. Concurrency = multiple tasks that start/run/complete in overlapping time periods and in no specific order. vs. Parallelism = multiple tasks that run at the same time.
@dawidkrol1
@dawidkrol1 Ай бұрын
Thank you for explaining concurrency and parallelism in understable way.
@gus473
@gus473 Ай бұрын
Appears you're on a path to have 1,000,000 subscribers by year-end! Hoping you make it! 🍻😎✌️
@vijayas8007
@vijayas8007 Ай бұрын
Concurrency is abt managing and parallelism is abt executing
@wexwexexort
@wexwexexort Ай бұрын
wtf is abt
@dy0mber847
@dy0mber847 Ай бұрын
​@@wexwexexortabout i guess
@wexwexexort
@wexwexexort 13 күн бұрын
@@dy0mber847 lol, that makes sense.
@janbodnar7815
@janbodnar7815 24 күн бұрын
Great explanation. I would add a couple of remarks. You have to be aware that these terms may be used differently, people sometimes mixed them up. Or some use a different terminology. For instance, .NET uses the terms synchronous and asynchronous. I came across this definition of concurrency: concurrency means that two or more calculations happen within the same time frame. Meaning, several tasks run (with context switching) within a period of say 3 minutes. Managing multiple tasks simultaneously (within a time frame) is a good definition as well. IO-heavy and CPU-heavy is often referred to as IO-bound and CPU-bound. There is also the multitasking term, which is a more informal term that overlaps with both concurrent and parallel. Concurrency is an umbrella term for both concurrent and parallel execution. Parallel execution is a specific case of concurrency. But when they say the tasks runs concurrently, it means they run in interleaved, non-parallel way. This video is so good that I recommend to rewatch it any time a confusion arises.
@web9529
@web9529 Ай бұрын
Clear and concise with good animations, great video!
@emmaccen
@emmaccen Ай бұрын
paraconcurrent should be a word.
@je_suis_onur
@je_suis_onur Ай бұрын
When talking about multi-cores or multi-cpus for doing parallel tasks the most important thing to watch out for would the cpu/core cache coherency. It would've been nice to touch on that too. Keep up the good work though! Cool video.
@tobiassjoholm9325
@tobiassjoholm9325 Ай бұрын
This is wrong? Concurrency on multiple CPU cores enables parallel execution. Concurrency on a single CPU core requires switching. Parallelism is a subset of concurrency.
@mohammedgoder
@mohammedgoder Ай бұрын
Absolutely. Yeah, people try to redefine words that already have a definition. Concurrent literally means at the same time. I will never understand the followers that just go with it without thinking "is he correct?"
@Zmey5656
@Zmey5656 Ай бұрын
In the Go language, parallelism and concurrency are often confused
@rammehar5531
@rammehar5531 Ай бұрын
Thank you very much for all the knowledgeable videos. We respect your efforts. Please make a video on system design of online coding judge, how leetcode or hacker rank handles the online contest's load.
@TheIronMan9
@TheIronMan9 Ай бұрын
Hello Sir, as and always Thanks for the great content. Please make a video on ACTOR SYSTEM.
@raj_kundalia
@raj_kundalia 24 күн бұрын
Thank you for doing this!
@TheArmenianSolider65
@TheArmenianSolider65 Ай бұрын
I was asked to explain this concept recently in my system design interview at Disney for what was essentially implement Launch Darkly
@Obie.
@Obie. Ай бұрын
I see you didn’t get the job
@lukecho386
@lukecho386 14 күн бұрын
So is it right when I say concurrency is better for multiple network call, like reading from a database, using concurrency, and based on each of the results returned, i can handle simultaneous computations using parallelism?
@emonymph6911
@emonymph6911 14 күн бұрын
How do you do parallelism while maintaining order? Is it possible?
@nanonkay5669
@nanonkay5669 Ай бұрын
Using Go made me understand this better
@franciscoalbertomm7768
@franciscoalbertomm7768 Ай бұрын
you are very good, thanks so much for all
@s8x.
@s8x. 22 күн бұрын
parallelism is a type of concurrency
@geetalohiya8692
@geetalohiya8692 28 күн бұрын
sir please make video on topin web application on protocal because I didn't learn on any kind of video so plz thinking to make it
@tonym5857
@tonym5857 Ай бұрын
Youe content awesome 👏👏👏👏
@LuisAntolin
@LuisAntolin Ай бұрын
Just brilliant!
@vnit4security
@vnit4security Ай бұрын
Nice Tut. Thanks 🍓🍓🍓
@Testmail-lu8tl
@Testmail-lu8tl Ай бұрын
Concurrency to enable parallelism...nice idea to ponder
@hirenpatel6118
@hirenpatel6118 Ай бұрын
then there is also cooperative and preemptive
@Tony-dp1rl
@Tony-dp1rl Ай бұрын
It's kinda a blurry line now though, for most development, your software is running virtualized anyway. .
@psycho.2u
@psycho.2u Ай бұрын
All we can do with a programming language ( such as C#, Java, python ) is to write a concurrent program. And when we run them on a machine, it may run parallelly or not. This is decided by the OS which decides it based on the hardware availability In these languages, we don't have much control to forcefully run tasks in truly parallel manner. These programming languages abstract away those details Is the above understanding right?
@RoyoItakoride
@RoyoItakoride 26 күн бұрын
I am thinking the same way too. I encourage you to read Grokking concurrency By Kirill Bobrov for deeper explanation regarding this topic :D
@janbodnar7815
@janbodnar7815 24 күн бұрын
Yes, to my understanding, this is the case. If you let's say call Parallel.ForEach in C#, you give a hint to the OS that you would like to run it in parallel, if possible.
@rajdippal51
@rajdippal51 Ай бұрын
Multitasking vs Multiprocessing
@fandymohammad952
@fandymohammad952 20 күн бұрын
Parallelism is subset of concurrency
@nc8051
@nc8051 Ай бұрын
Nice
@DK-ox7ze
@DK-ox7ze Ай бұрын
Isn't this a repeat?
@oealias5584
@oealias5584 Ай бұрын
in the 2nd 'concurrent, not parallel', if task A and task B are running in sequence (one after the other) they can't finish at the same time. am i missing something?
@Thomas-cr2pt
@Thomas-cr2pt Ай бұрын
your statement is correct. but you should see it more like this. a has 10 jobs, b has 10 jobs. If you do those alternate you end up done at roughly the same time (for a and b). Thats why the chef making 3 dishes is a good example.
@MrAtomUniverse
@MrAtomUniverse Ай бұрын
What software did you use to draw those diagrams ?
@NachitenRemix
@NachitenRemix Ай бұрын
I have the same question, the animations are so clean. probably using AE
@sujathajagath2033
@sujathajagath2033 Ай бұрын
What’s AE?
@shubhamkukrety6355
@shubhamkukrety6355 Ай бұрын
After Effects ​@@sujathajagath2033
@justyourregularboyscout9613
@justyourregularboyscout9613 Ай бұрын
​@@sujathajagath2033after effect
@ttominable
@ttominable Ай бұрын
@@sujathajagath2033 after effects
@pranavsarang
@pranavsarang Ай бұрын
What if one task depends on another during parallelism. Thanks for the video
@KameOuss
@KameOuss Ай бұрын
In this case, I think you have no other choice but to wait for the task to finish
@3a146
@3a146 Ай бұрын
Concurrency is a computer to listen multiple users, while parallelism is a user to call multiple computers. The difference is who takes control.
@Artur_Martins
@Artur_Martins Ай бұрын
01:48 (nitpick) - task 1.2 appears twice on the top.
@danielnistor5857
@danielnistor5857 Ай бұрын
123
@RoyoItakoride
@RoyoItakoride 26 күн бұрын
multitasking is concurrency, slavery is parallelism. Probably. edit : parallel -> parallelism. i ain't native
@brianquigley1940
@brianquigley1940 Ай бұрын
👍 👍 👍 👍
@ripple123
@ripple123 Ай бұрын
nice its funny how many devs still get these confused
@mohammedgoder
@mohammedgoder Ай бұрын
Funny that you seem to be one of these devs; considering that he's wrong. Concurrent literally means at the same time.
@quang.luu.179
@quang.luu.179 Ай бұрын
👍👍👍
Good APIs Vs Bad APIs: 7 Tips for API Design
5:48
ByteByteGo
Рет қаралды 227 М.
Understanding B-Trees: The Data Structure Behind Modern Databases
12:39
👨‍🔧📐
00:43
Kan Andrey
Рет қаралды 9 МЛН
Jumping off balcony pulls her tooth! 🫣🦷
01:00
Justin Flom
Рет қаралды 34 МЛН
Top 7 Most-Used Distributed System Patterns
6:14
ByteByteGo
Рет қаралды 244 М.
Session Vs JWT: The Differences You May Not Know!
7:00
ByteByteGo
Рет қаралды 103 М.
Concurrency is not Parallelism by Rob Pike
31:22
gnbitcom
Рет қаралды 127 М.
Caching Pitfalls Every Developer Should Know
6:41
ByteByteGo
Рет қаралды 116 М.
Consistent Hashing | Algorithms You Should Know #1
8:04
ByteByteGo
Рет қаралды 297 М.
7 Must-know Strategies to Scale Your Database
8:42
ByteByteGo
Рет қаралды 93 М.
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Рет қаралды 1 МЛН
20 System Design Concepts Explained in 10 Minutes
11:41
NeetCode
Рет қаралды 957 М.
Top 5 Most-Used Deployment Strategies
10:00
ByteByteGo
Рет қаралды 257 М.
👨‍🔧📐
00:43
Kan Andrey
Рет қаралды 9 МЛН