13.8 Multithreading InterThread Communication | Producer Consumer

  Рет қаралды 333,592

Telusko

7 жыл бұрын

In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by a scheduler, which is typically a part of the operating system.
Multithreading in java is a process of executing multiple activities can proceed concurrently in the same program.
Thread is basically a lightweight sub-process, a smallest unit of processing.
In multithreading threads share a common memory area.
They don't allocate separate memory area so saves memory, and context-switching between the threads takes less time than process.
Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources.
Using two different task at the same time means multi-tasking. Thread is unit of a process.
Check out our website: www.telusko.com
Follow Telusko on Twitter: navinreddy20
Follow on Facebook:
Telusko : teluskolearnings
Navin Reddy : navintelusko
Follow Navin Reddy on Instagram: navinreddy20
Subscribe to our other channel:
Navin Reddy : kzfaq.info/love/xmkk8bMSOF-UBF43z-pdGQ
Telusko Hindi :
kzfaq.info/love/itzw4ROeTVGRRLnCPws-cw
Subscribe to the channel and learn Programming in easy way.
Java Tutorial for Beginners : goo.gl/p10QfB
Scala Tutorials for Java Developers : goo.gl/8H1aE5
C Tutorial Playlist : goo.gl/8v92pu
Android Tutorial for Beginners Playlist : goo.gl/MzlIUJ
XML Tutorial : goo.gl/Eo79do
Design Patterns in Java : goo.gl/Kd2MWE
Socket Programming in Java : goo.gl/jlMEbg
Spring MVC Tutorial : goo.gl/9ubbG2
OpenShift Tutorial for Beginners : goo.gl/s58BQH
Spring Framework with Maven : goo.gl/MaEluO
Sql Tutorial for Beginners : goo.gl/x3PrTg
String Handling in Java : goo.gl/zUdPwa
Array in Java : goo.gl/uXTaUy
Java Servlet : goo.gl/R5nHp8
Exception Handling in Java : goo.gl/N4NbAW

Пікірлер: 144
@karthee_k
@karthee_k 7 жыл бұрын
Can't explain simpler than this. All videos on thread are great.
@dragonrojude5496
@dragonrojude5496 6 жыл бұрын
hi can u expalin the working logic of while statements in class q class. thank u
@himanimishra5893
@himanimishra5893 7 жыл бұрын
youre an excellent teacher. After watching some 10 videos I know for sure Ill learn java.Earlier I used to hate programming coz I didnt understand properly.Thankyou for increasing my Interest sir. Great teaching . :-)
@AbhigyanGautam
@AbhigyanGautam 4 жыл бұрын
Thank you so much It cleared everything
@Mukund_Pandey
@Mukund_Pandey 3 жыл бұрын
seedhi baat no bakwaas! Great Explaination.
@bharatarora640
@bharatarora640 6 жыл бұрын
Really good job.. thnx fr the videos..
@krishnabangari9287
@krishnabangari9287 6 ай бұрын
Subscribed and will surely donate once i get my first salary. This guy deserves it for his work.
@sagar1190
@sagar1190 3 жыл бұрын
Very good example for learning this concept. Thank you Navin !!
@Moe.firouzabadi
@Moe.firouzabadi 5 жыл бұрын
if you guys know all of these, then what the hell youre doing here?
@lionciomorcilla4743
@lionciomorcilla4743 6 жыл бұрын
thankyou very much!! now i solved my problem
@F11550i
@F11550i 4 жыл бұрын
It was great! Some people want to get everything ready, so why are you programmer?! It was really helpful thx!
@anshulgupta5204
@anshulgupta5204 5 жыл бұрын
What is the best way to study RX Java? Any sugestions
@yatharthrathore1117
@yatharthrathore1117 7 жыл бұрын
Can you implement dining philosopher problem using threads.
@karishmasukhwani5270
@karishmasukhwani5270 3 жыл бұрын
Navin Sir, thank you so much. You know, juggling up with so many threads threads in my JavaFx pong game. I wish I had someone like a mentor to me in Java. Your videos are there but I don't know how can I connect you if I get in to some problem which I can't find over google. Still, thank you so much for your videos. Half of Java and Python, I have learned from you. Waiting if you have some forum where I can connect you.
@Aditya-sn4le
@Aditya-sn4le 3 ай бұрын
Try connecting on Linkdin or his website
@satyendrasingh-oh7mp
@satyendrasingh-oh7mp 6 жыл бұрын
very great explanation.. but i have a doubt why do you use while(setValue) instead we can use if(setvalue) ??? rply
@ManishKumar-qx1kh
@ManishKumar-qx1kh 3 жыл бұрын
if wait is called on some thread and notify is not called then thread might become runnable again after some time , so its better to use while loop and call wait inside that so that even if thread wakes up it can check the condition and go to sleep again if the condition is not met. Here i belive u can use if because notify is called and time lapse is not that much.
@vinaysingh2971
@vinaysingh2971 3 жыл бұрын
excellent sir...well explained
@dragonrojude5496
@dragonrojude5496 6 жыл бұрын
can someone briefly explain the logic line by line from the start because i am a bit confused with the program when it reaches the while statements i class Q
@prashantkamble898
@prashantkamble898 7 жыл бұрын
Very good explanation. Thank you.
@kathireshkumar5793
@kathireshkumar5793 5 жыл бұрын
Thanks for good session
@bichitrasahoo4943
@bichitrasahoo4943 7 жыл бұрын
Sir, u have explained it very nicely.
@supriyagorai9483
@supriyagorai9483 4 жыл бұрын
Please add some videos on Thread pools, deadlock and daemon lock..
@prateekbhatnagar9852
@prateekbhatnagar9852 2 жыл бұрын
Hi , Didn't understand the usage of notify function . i tried to run the program without the notify() function and it runs properly .
@preethamm.n1161
@preethamm.n1161 4 жыл бұрын
One of best vedio on producer and consumer on KZfaq !!! Thank u sir💞💞💞🌹🇮🇳🇮🇳🇮🇳🇮🇳
@mohsentavakoli3238
@mohsentavakoli3238 7 жыл бұрын
this course Is great, thank you so much. awesome!
@ShermukhammadKarimov
@ShermukhammadKarimov Ай бұрын
thanks for clear explanation
@deepakrawat5065
@deepakrawat5065 7 жыл бұрын
Beautifully explained.Thank You.
@dragonrojude5496
@dragonrojude5496 6 жыл бұрын
hi can u explain the working logic of while statements in class q class. thank u
@vishaltanawade7637
@vishaltanawade7637 4 жыл бұрын
Only we have to use synchronised method Instead of doing other hard stuff ... Try
@548vishnureddy6
@548vishnureddy6 3 жыл бұрын
Nice bro
@ashishwatkar8275
@ashishwatkar8275 3 жыл бұрын
No, it's not, we have to use synchronization only when we want that only one thread should execute at a time. So in synchronization one thread will execute at a time but which thread will execute we cant give a guaranty. Now in the Producer consume problem it is mandatory that our producer thread must complete its execution before the consumer, but by simply using synchronized keyword we cant achieve that, that's why we need to use wait(), notify(), and notifyAll() here.
@arihantjoshi7003
@arihantjoshi7003 5 жыл бұрын
Is the source uploaded somewhere?
@akashkarthik7892
@akashkarthik7892 5 жыл бұрын
All videos on multithreading was great and understandable but this one is very confused I slept watching this video woke up now
@fazal544
@fazal544 7 жыл бұрын
sir can you please make tutorial videos forconcurreny in java.(like using atomic variabes, use a reentrant ReadWriteLock, use java.util.concurrent collections, synchronizer classes, ExecutorService to concurrently execute tasks, apply fork-join framework)
@dinkarinjosh
@dinkarinjosh 5 жыл бұрын
you seem to be confused.
@159saur
@159saur 4 жыл бұрын
Sir can you please make a video on thread pool and thread group.
@destroyerofchalk6456
@destroyerofchalk6456 5 жыл бұрын
thank you, guy!
@bryanliu727
@bryanliu727 3 жыл бұрын
Hi Navin, I find that if we don't use the notify() method and 'synchronized', it also works fine. Is it the right way to do it like that?
@swaroop6044
@swaroop6044 3 жыл бұрын
There maybe a case in which both threads will wait on each other and may lead to deadlock , it's better to use wait and notify as a pair.
@lavanyabheemini3618
@lavanyabheemini3618 7 жыл бұрын
very useful
@surajkudale5128
@surajkudale5128 5 жыл бұрын
Little bit confusing but still manageable. Other videos are great
@asian-series7071
@asian-series7071 6 жыл бұрын
100/100 marks sir bahut accha
@sureshchaudhari4465
@sureshchaudhari4465 2 жыл бұрын
Multithreading beyond theory waw telusko
@akshatsingh6036
@akshatsingh6036 4 жыл бұрын
sir can we do that like adding sleep(10) in between new Producer and new Consumer for this output
@ManishKumar-qx1kh
@ManishKumar-qx1kh 3 жыл бұрын
yes u can use. It will work i=even if u dont call sleep. Here wait and notify are main concepts.
@aravindhvellaiyan2300
@aravindhvellaiyan2300 2 жыл бұрын
We could achieve this same logic even without using wait() and notify() by using this valueSet check, they why should we go for wait() and notify() here.? Am I got anything wrong.??
@pavithrasree4303
@pavithrasree4303 6 жыл бұрын
Can we get a video about thread pool?
@ManishKumar-qx1kh
@ManishKumar-qx1kh 3 жыл бұрын
u can check video of Defog Tech. Its a pretty good channel consisting videos of multithreading high concepts
@aniketshah248
@aniketshah248 3 жыл бұрын
this passed in Thread() is not runnable obect it is from class Q ,so how it is able to use run ()
@ramkumar_balu
@ramkumar_balu 2 жыл бұрын
The wait and notify logic should come inside the producer and consumer thread instead of Q class. is not it? Those logic shuold not be controlled externally.
@davidakful
@davidakful 6 жыл бұрын
It does not work as expected. Even when i don't have notify(), the program is running. And get is before put.
@aronblanche
@aronblanche 4 жыл бұрын
what java version you're running?
@revanthmadasu244
@revanthmadasu244 7 жыл бұрын
how producers notify() notifies consumers thread? how are they're connected to each other?
@saurabhgupta6080
@saurabhgupta6080 2 жыл бұрын
notify() simply wakes up one of the threads waiting on the same lock, and notifyAll() method wakes up all the threads waiting on the same lock.
@chelovekgrey1249
@chelovekgrey1249 7 жыл бұрын
what if we have 3 threads t1,t2 and t3. t1 and t2 are waiting and when t3 complete its task we need to notify thread t1.. not thread t2... how it will be done...??
@revanthmadasu244
@revanthmadasu244 7 жыл бұрын
reply if you find answer for this
@aarushverma8432
@aarushverma8432 7 жыл бұрын
use notifyAll( );
@chelovekgrey1249
@chelovekgrey1249 7 жыл бұрын
Aarush Verma notifyall() will let all thread in process. but I want to notify just 1 thread , not all??
@piyush12121
@piyush12121 7 жыл бұрын
Only one of the thread will be able to get into the synchronized method when you call notifyAll(). Which one ? Whichever has the highest priority. If all have same priority then you can't say exactly which one will get into its method.
@navjotkaur4795
@navjotkaur4795 7 жыл бұрын
NotifyAll() will solve this problem. It has same functionality as notify but it will notify all other threads instead of only one
@andreslebon3869
@andreslebon3869 7 жыл бұрын
But, it does the same job just with the 2 synchronized put() and get() methods, without the need of wait() and notify()..I did not get the point.
@hariprasadreddy108
@hariprasadreddy108 5 жыл бұрын
no, Synchronized method is to avoid other thread to call same method suppose if t1 and t2 are producer threads , lets say t1 calls put method and went to wait state but in the mean time t2 thread comes into picture and calls the put method again so in that case producer method produce new value even consumer thread say t3 not consume earlier value ,so the conclusion is to avoid different threads t1 and t2 call same method we use method synchronization
@shanmukhishammu267
@shanmukhishammu267 4 жыл бұрын
did you get the answe ?? cz my comment is same:(
@naeemkirmani9934
@naeemkirmani9934 5 жыл бұрын
always make concept very difficult i dont like big big example for small concept.
@danipr100
@danipr100 3 жыл бұрын
I think that this is wrong, the synchronization is happening because of synchronize key word not because wait/notify - one thread doesn't have reference to the other. high risk of dealock.
@learnandexecute
@learnandexecute 6 жыл бұрын
not sure why, the code doesn't works at my end. this particular line gives error "Thread t = new Thread(this, "Producer"); " If I remove "this" keyword the error gets solves in eclipse but code does not RUN, after that error message is: Error: Could not find or load main class InterThread '' I tried to fix the problem referring to the book called JAVA.the.complete.reference but couldn't solved. Please check if anyone can help .
@HussainMohammedAshruf
@HussainMohammedAshruf 5 жыл бұрын
this keyword cannot be used within static method. Make sure it is not static to use this.
@TOMGAMING-hy9hi
@TOMGAMING-hy9hi 3 жыл бұрын
this is a very complex code for beginner.
@babymuff2000
@babymuff2000 2 жыл бұрын
It gives me an error saying class producer nd consumer is already defined
@technp8780
@technp8780 4 жыл бұрын
i din't understand Q q; how its possible please someone explain ..
@evankadsouza8058
@evankadsouza8058 4 жыл бұрын
Sir, while creating the Thread object in Producer class, is this keyword used to call Q's class object ??
@hmm7458
@hmm7458 4 жыл бұрын
yes.
@abhishekgairola9166
@abhishekgairola9166 5 ай бұрын
Incase of multiple producers and consumers , how does notify() method exactly work ? Does it notify all threads ?
@harshwardhanshetty4683
@harshwardhanshetty4683 4 ай бұрын
it notify() only one thread which is waiting for resource to release a lock in this case sync function aquires lock while wait() releases lock on resource which is Q and waits itself for other to use it the other thread gets notified that there is release in resource you can use it first it aquires lock on resource then then same waits itself the sir is really confused here and he is mugging up concept of sync i think maybe i am wrong but from video he looks bit confused because there is also no need of other boolean variable if you can change the logic
@harshwardhanshetty4683
@harshwardhanshetty4683 4 ай бұрын
for ur clarification see this code public class ProducerConsumer { public static void main(String[] args) throws Exception { Q lock = new Q(); Producer p = new Producer(lock); Consumer c = new Consumer(lock); p.start(); c.start(); } } class Q { int i=0; void setI(int num){ this.i=num; } int getI(){ return this.i; } } class Producer extends Thread { Q lock; Producer(Q lock) { this.lock = lock; } @Override public void run() { try { synchronized (lock) { while (true) { lock.setI(lock.getI() + 1); System.out.println("Producer produced -> " + lock.getI()); Thread.sleep(2000); lock.notify(); lock.wait(); } } } catch (Exception e) { } } } class Consumer extends Thread { Q lock; Consumer(Q lock) { this.lock = lock; } @Override public void run() { try { synchronized (lock) { while (true) { System.out.println("Consumer consumed -> " + lock.getI()); Thread.sleep(1000); lock.notify(); lock.wait(); } } } catch (Exception e) { } } } the main important thing here is not to control the function but acquiring and releasing lock on resources i was interviewed by oracle and somewhat felt humiliated by not understanding concept in depth for mutlithreading
@premalupadhyay3555
@premalupadhyay3555 3 жыл бұрын
Sir, I have a question that if we call the sleep() method then the thread will go to waiting state?
@HimanshuSingh2009
@HimanshuSingh2009 3 жыл бұрын
The thread will not go into a waiting state, the sleep method stops the current thread execution for a specific time.
@premalupadhyay3555
@premalupadhyay3555 3 жыл бұрын
@@HimanshuSingh2009 thanks 👍
@manojmehta3226
@manojmehta3226 3 жыл бұрын
well explained short and crisp
@lakhankale9692
@lakhankale9692 4 жыл бұрын
sir is it necessary to wait in get method if flag is already true // class Count { int count; boolean flag = false ; public synchronized void put(int count) { if(flag) { try { wait();}catch (Exception e) { } } System.out.println("put : "+count); this.count=count; flag=true; notify(); } public synchronized void get() { /*if(!flag) { try { wait();}catch (Exception e) { } }*/ System.out.println("get : "+count); flag=false; notify(); } }
@shanmukhishammu267
@shanmukhishammu267 4 жыл бұрын
even without wait and notify methods ,i am getting the same expected output with just synchronized get and put methods can u please explain why??
@ninadsentinel
@ninadsentinel 4 жыл бұрын
shanmukhi shammu You have basically made Q threadsafe by synchronising both put and get. This synchronisation is governed by intrinsic this lock so at a time only one of the threads can execute either of the two methods. I hope this clears.
@madhavanupoju3324
@madhavanupoju3324 4 жыл бұрын
In Consume class, increase the sleep time then you will understand and test without calling wait and notify methods
@jatinlalwani9459
@jatinlalwani9459 7 жыл бұрын
All this can be done without the use of wait() and notify() and synchronized(). why do we have to use all this? Also you were not able to properly explain how notify works and why synchronized is used. Poor explanation!
@mouneshvannur6675
@mouneshvannur6675 5 жыл бұрын
Cause he is explaining without blockingQueue..
@jyotsnavootla2138
@jyotsnavootla2138 4 жыл бұрын
Sweety, ever heard of constructive criticism?
@Saifullah-su8ti
@Saifullah-su8ti 2 жыл бұрын
Actually synchronized key word gets the object lock. Research it and it would be clear
@Saifullah-su8ti
@Saifullah-su8ti 2 жыл бұрын
Wait releases the object lock and notify keyword enters the thread in entry set so that it can acquire object lock after the lock is released by the thread
@inxeoz
@inxeoz Жыл бұрын
I am confused at where 😕 putting synchronised keyword after wait() method ?!
@SajalAgarwal300
@SajalAgarwal300 5 жыл бұрын
All videos of Multi threading are good except this one. Please explain step by step. Cant understand why waiting is going on.
@asifsyed1594
@asifsyed1594 5 жыл бұрын
This concept works without wait and notify. Also one more point here is that we need to use synchronized for notify method, not wait method.
@kathiresan_n
@kathiresan_n 5 жыл бұрын
Do u think wait method can b called out of synchronized block....? Pls refer this "The wait(), notify(), and notifyAll() methods should be called for an object only when the current thread has already locked the object's lock. This point sometimes goes unnoticed because programmers are used to calling these methods from within synchronizedmethods or blocks. Otherwise, you will get "java.lang.IllegalMonitorStateException: current thread not owner" at runtime"
@shwetachavan584
@shwetachavan584 Жыл бұрын
How to count number of producer and consumer
@user-xw6ns6ih5f
@user-xw6ns6ih5f 2 жыл бұрын
Thread t = new Thread (this) Kya koi bata sakta he this keyword kyon use kiya gya he please
@soumyajitdutta2324
@soumyajitdutta2324 4 жыл бұрын
Sir, why you have made the put( ) and get( ) function synchronized
@shaikzaheer1181
@shaikzaheer1181 4 жыл бұрын
We are using wait method so , it is mandatory to keep the method as synchronized
@meetamin7343
@meetamin7343 2 жыл бұрын
AWESOME♥♥
@AjayDewari
@AjayDewari 7 жыл бұрын
Why u have used while(valueSet), why not if(valueSet)
@lazarof94
@lazarof94 6 жыл бұрын
Google "Java Spurious wake up".
@sambitpradhan5463
@sambitpradhan5463 5 жыл бұрын
Great
@walterp7125
@walterp7125 6 жыл бұрын
you have to implement "synchronized "
@manishpandey1125
@manishpandey1125 5 жыл бұрын
Why while loop not run infinite....the condition is always true?
@ahmedembaby8230
@ahmedembaby8230 5 жыл бұрын
he stopped program Running
@shaikzaheer1181
@shaikzaheer1181 4 жыл бұрын
Control c ..... u can stop
@ArunraajSingh
@ArunraajSingh 7 жыл бұрын
why inter-thread communication?
@gatheringwithin
@gatheringwithin 7 жыл бұрын
to synchronize calculations.. if you are calculating a big set of data and some parts can be done independently while some needs to be all finished before the next step can take place.. this is when one thread needs to know what the other thread is doing.. when you iterate on the same data..
@imdadabro4118
@imdadabro4118 3 жыл бұрын
can anyone explain the line Thread(this,"Producer");???
@ajayarya2738
@ajayarya2738 3 жыл бұрын
"Producer" is the name of thread.
@sumant9120
@sumant9120 4 жыл бұрын
I had a doubt, are we using the concept of shallow copying here ?
@ManishKumar-qx1kh
@ManishKumar-qx1kh 3 жыл бұрын
Yes brother. Here as you can see in Producer and Consumer classes we have just created References of Class Q and then we have assigned the location of object passed to them. We are not creating new objects in Consumer and Producer classes instead we are using the object that was passed. Just references we have created. U can say pointers (just to expain i am using c or c++ term).
@ErShikharChauhan
@ErShikharChauhan 4 жыл бұрын
Seems like u know things, but need to practice how to explain things
@leetcodebaby6680
@leetcodebaby6680 Жыл бұрын
Why is valueSet inside while and not inside if?
@johnvick8861
@johnvick8861 Жыл бұрын
That's why he used try catch
@lpatrasco
@lpatrasco 6 жыл бұрын
Very wrong solution. There is no even inter-thread communication here except that horrible while loop. Go learn the true consumer/ producer pattern in multithreading using wait/notify or simply a blocking queue.
@ravikirandhulipala4459
@ravikirandhulipala4459 6 жыл бұрын
thank u sir.... a great explanation .............
@johnsumith2107
@johnsumith2107 Жыл бұрын
everything is good i didn't understand value set
@aesthetic_sharma
@aesthetic_sharma 4 жыл бұрын
The guy is so confused. Still helpful :p
@venpro8705
@venpro8705 4 жыл бұрын
Give one more example sir
@jenilgandhi2111
@jenilgandhi2111 3 жыл бұрын
java the complete reference ki copy hai yeh line to line code same hai
@vivekmalhan7083
@vivekmalhan7083 5 жыл бұрын
Sir it's too complex program to understand for beginners.
@ManishKumar-qx1kh
@ManishKumar-qx1kh 3 жыл бұрын
start with easy ones brother by urself.I mean u can try simple thread creation and sleep calls in a simple code then try to figure out whats how this is getting callled and whats happening on method call.
@sahanagowda9123
@sahanagowda9123 Жыл бұрын
All other explanations are good but this i really din’t understand
@Ahmed-gf9bx
@Ahmed-gf9bx 2 жыл бұрын
How many Ads you are subscribed to buddy 🤔 Wondering, are we marketing in the name of Java
@johnvick8861
@johnvick8861 Жыл бұрын
Why he used Q q ? That's where I didn't get
@automobili2801
@automobili2801 Жыл бұрын
so that we can use q methods which is get and set
@preethamm.n1161
@preethamm.n1161 4 жыл бұрын
💞💞💞💞💞Awesome 🇮🇳💞💞💞💞
@shahidiqbal7013
@shahidiqbal7013 4 жыл бұрын
hhuh what are you trying to tell us???????
@hemantdas9546
@hemantdas9546 5 жыл бұрын
Multithreading in Java by your channel is really poor..no clarity at all.
@ProgrammerCpp1999
@ProgrammerCpp1999 5 жыл бұрын
True I recommend you to read Head First Java multithreading is explained nicely in that book
@satishyadav-uo9rn
@satishyadav-uo9rn 8 ай бұрын
ye chatgpt wale ads block kar do sir, if its possible
@poojajadhav3732
@poojajadhav3732 4 жыл бұрын
Too confusing
@premjoshuasaldana5149
@premjoshuasaldana5149 4 ай бұрын
why are u so confused
@saurabhgupta6080
@saurabhgupta6080 2 жыл бұрын
Worst Explanation. Many things are wrong in this example. Refer Java concurrency in practice. Merely getting the right output is not enough in multithreaded programming.
@harshwardhanshetty4683
@harshwardhanshetty4683 4 ай бұрын
yes i understood that after giving interview in oracle these online videos are somewhat not clear
@UCTNX4PiSl496AhgUyGlB5wg
@UCTNX4PiSl496AhgUyGlB5wg 4 жыл бұрын
Disappointed
@Mynksonam
@Mynksonam 3 жыл бұрын
the guy is little weak in multi Threading. among all video this was less understandable.
@safiullahrahmani2807
@safiullahrahmani2807 3 жыл бұрын
Just copied the whole thing from herbert manuel book!!! That's why i hate watchting learning videos on youtube. You learn nothings new. :/
@bisht173
@bisht173 Жыл бұрын
Didn’t like this video. More I try to understand using this video, more confused I get. Please try to explain the use case first and also do you homework before creating the video so that you don’t have to do so many hit and try in the video.👎
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 147 МЛН
⬅️🤔➡️
00:31
Celine Dept
Рет қаралды 52 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
World’s Deadliest Obstacle Course!
28:25
MrBeast
Рет қаралды 147 МЛН