Java ExecutorService - Part 1 - Introduction

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ม.ค. 2025

ความคิดเห็น • 291

  • @fazilkhan6779
    @fazilkhan6779 ปีที่แล้ว +3

    This executor service series is one of the best ever educational TH-cam series ever. Thanks a ton. Your explanation is awesome.

  • @ramcorp542
    @ramcorp542 4 ปีที่แล้ว +27

    Thank you, you have a skill for explaining complex concepts in a clear concise manner. I would love to see full fledged courses created by you.

  • @amritasahoo6773
    @amritasahoo6773 6 ปีที่แล้ว +98

    Really explained well. This is the best I have found till now. Thank you. Keep up the good work :)

    • @DefogTech
      @DefogTech  6 ปีที่แล้ว +4

      Thank you for the kind words!!

    • @yathiraju1000
      @yathiraju1000 5 ปีที่แล้ว

      Yes this guy is awesome in subject and the way he is describing the concepts are speechless . I heard few concepts and all are above the notch.

    • @orangefield2308
      @orangefield2308 ปีที่แล้ว

      best work ever, please make more videos !! I understand executorService finally

  • @mostinho7
    @mostinho7 4 ปีที่แล้ว +5

    Done thanks
    Thread pool instead of creating a 1000 threads which is expensive, can make a fixed size pool and submit 1000 tasks to it.
    3:40 how it works internally
    5:30 ideal pool size for cpu task is number of cores
    9:30 thread pool size for io intensive tasks

  • @AyushSharma-ux4fk
    @AyushSharma-ux4fk 3 ปีที่แล้ว +4

    A very intelligent statement.
    If your tasks are I/O intensive e.g. DB calls, Network calls. Most of the threads would be in waiting state (waiting for DB response or Network call response) in such a scenario having a large thread pool is the right way to go. That way you would be able to start more tasks.
    Thanks

  • @milankushwah8580
    @milankushwah8580 9 หลายเดือนก่อน

    🎯 Key Takeaways for quick navigation:
    00:00 *Running tasks asynchronously in Java traditionally involves creating new threads manually.*
    02:30 *Utilizing a thread pool with a fixed number of threads is more efficient than creating threads dynamically, especially for large numbers of tasks.*
    04:32 *The ideal pool size depends on the nature of tasks; for CPU-intensive tasks, match the pool size to the number of CPU cores, while for IO-intensive tasks, a larger pool may be beneficial.*
    08:44 *Considerations for CPU availability in multi-tasking environments and balancing thread pool size based on task submission rate and IO operation wait times are crucial for optimizing performance.*

  • @yathiraju1000
    @yathiraju1000 5 ปีที่แล้ว +5

    Guys please share his videos in other groups. we have to support this kind of content and it will be very useful to people who are looking for good content

  • @shivshaktipandey7148
    @shivshaktipandey7148 2 ปีที่แล้ว

    explaining with how , why , what , when -------------- everything about the topic -------- hats off ----------- u will complete 100k soon bro

  • @sharatchandra9198
    @sharatchandra9198 4 ปีที่แล้ว

    I have read so many places, everything is of no use, you are brilliant.

  • @manish436
    @manish436 2 ปีที่แล้ว

    Really great explanation, adding one formula for I/O intensive task, according to "Java Concurrency in Practice"
    Number of threads = Number of Available Cores * (1 + Wait time / Service time)

  • @ankitnavalakha508
    @ankitnavalakha508 5 ปีที่แล้ว +4

    There are so many videos for multithreading available in TH-cam but I found you best because of your diagram presentation which is unique.
    You explained very well. You are awesome and continue with this key feature.

  • @highlightsportz
    @highlightsportz 2 ปีที่แล้ว

    I as individual surf youtube a lot for learning purpose and almost have watched most of the youtuber on internet, But this channel is at another level in terms of quality . Thanks a lot sir . It would be great if you could take out some time and nail the microservice buzz words

  • @sakship1558
    @sakship1558 2 ปีที่แล้ว

    Bestest explanation seen on Internet, thank you so much.

  • @nilesh6429
    @nilesh6429 6 ปีที่แล้ว

    ThreadPoolSize tread off with CPU core concept is excellent. You have cleared all doubts about the size of the pool.
    Thank you.

    • @DefogTech
      @DefogTech  6 ปีที่แล้ว

      You're welcome! I'm happy it helped

  • @pepperjack6749
    @pepperjack6749 6 ปีที่แล้ว +1

    Most concise and clear executor service description I’ve seen. Thank you!

    • @DefogTech
      @DefogTech  6 ปีที่แล้ว +2

      You're welcome!

  • @ruchigarg7788
    @ruchigarg7788 3 ปีที่แล้ว +3

    Really, so easily explained these concepts with how to implement. Superb. Should create a playlist of java 8.

  • @divyamahesh9032
    @divyamahesh9032 11 หลายเดือนก่อน

    You know while I start the interview preparation I'm watching all these videos saved , and this is my 3rd time watching it while I'm moving out of my 2nd company....🎉🎉
    Thanks for your great work .

    • @DefogTech
      @DefogTech  11 หลายเดือนก่อน +1

      That's so heartening to hear! Thank you for the kind words. Good luck for the new job. Wish you great success there as well.

  • @contactdi8426
    @contactdi8426 2 ปีที่แล้ว

    Holy Moli buddy!!! This was spot on! The BEST on the internet, cleared all my doubts right from basics to advance.. Super Thanks, I really appreciate great people like you that helps the community.

  • @rishinjiya42
    @rishinjiya42 4 ปีที่แล้ว +1

    The best combination of content and explanation. I wish Deepak had videos and courses on everything I need as a Java/Spring developer

  • @siteshkulkarni5924
    @siteshkulkarni5924 2 ปีที่แล้ว

    Hi Deepak, I just watched all your 4 videos related to ExecutorService, you have shown how things can be explained in a super simple way yet powerful. Great job!! thanks.

  • @raidtheferry
    @raidtheferry 9 หลายเดือนก่อน

    Very high quality explanation and accompanying slideshow. I appreciate you making this video

  • @edeepakjain
    @edeepakjain 5 ปีที่แล้ว +1

    Best video... Finally someone explained thread pool size derivation

  • @jaleelpasha3301
    @jaleelpasha3301 10 หลายเดือนก่อน

    Introduction:
    - The video discusses the concept of thread pools and the Java `ExecutorService`.
    - It explains how to efficiently manage tasks using a fixed number of threads.
    Key Points:
    - In Java, running tasks asynchronously is straightforward using threads.
    - Tasks can be executed synchronously by creating a class that implements `Runnable` and overriding the `run` method.
    - A new thread can be created with an instance of this class and started.
    - To run multiple tasks, one could use a loop to create and start new threads for each task.
    - However, creating too many threads can be inefficient as each thread corresponds to an operating system thread.
    - To address this, a thread pool can be used to manage a fixed number of threads.
    - Tasks can then be submitted to the thread pool, and the threads in the pool pick up and execute these tasks.
    - Using a thread pool reduces the overhead of creating and managing threads, improving performance.
    - The ideal pool size depends on factors like CPU-intensive or IO-intensive tasks.
    - For CPU-intensive tasks, the ideal pool size is the number of CPU cores.
    - For IO-intensive tasks, a larger pool size may be beneficial to handle waiting states effectively.
    Conclusion:
    - Choosing the right pool size for thread pools is crucial for optimal performance.
    - Understanding the nature of tasks helps determine the appropriate pool size.
    - Java provides the `ExecutorService` interface for managing thread pools, offering flexibility and efficiency in task execution.

  • @divyanshpatel1301
    @divyanshpatel1301 ปีที่แล้ว

    All the concepts u given is aksed in an interview, best explanation ❤

  • @harikavolam7123
    @harikavolam7123 3 ปีที่แล้ว +1

    Thanks for explaining in both code and internal visualization of threads. Great explanation. You have explained complicated topic in very simple way.. Thanks a lot

  • @MrSN99
    @MrSN99 8 หลายเดือนก่อน +1

    as i'm kotlin dev i just skipped this completely. But you explaining this made some things clearer. I didn't expect this.

  • @clswar00p
    @clswar00p 4 ปีที่แล้ว

    Pleasant voice while explaning.Very clear

  • @catlord69
    @catlord69 4 ปีที่แล้ว +17

    What the hell, you explain so well and clearly ! Amazing

  • @manishghoshi3861
    @manishghoshi3861 3 ปีที่แล้ว

    The best till now. Thanks.

  • @odilhonislomov8954
    @odilhonislomov8954 2 ปีที่แล้ว

    THANK YOU !!! A LOT OF THANKS. There is no better explanation than yours. You are the best. Keep going

  • @SchkuenteQoostewin
    @SchkuenteQoostewin 5 ปีที่แล้ว +2

    Could you please teach the rest of India how to speak English. You are the poster child of clear flunet English. Your pitch and clarity in the words are masterful. Also your knowledge is strong, I love the tutorial and I am as American as corn.

  • @kitkarson4226
    @kitkarson4226 3 ปีที่แล้ว

    Man .. god bless you!! Thanks!! you explain complex topics in a way anyone can understand.

  • @mattmilzewski1062
    @mattmilzewski1062 4 ปีที่แล้ว

    Explained excellently you are an absolute legend

  • @AshishBurnwal
    @AshishBurnwal 6 ปีที่แล้ว

    This is the best tutorial I have ever seen for executor framework. Thanks a lot

    • @DefogTech
      @DefogTech  6 ปีที่แล้ว

      Thank you sir!

  • @rishipollai5646
    @rishipollai5646 3 ปีที่แล้ว

    Lots of love and support 💖 .. one of the best explanation

  • @br4676
    @br4676 4 ปีที่แล้ว

    Thanks sir , this is the best video I have seen so far on this topic

  • @philipmartinelli6994
    @philipmartinelli6994 2 ปีที่แล้ว +1

    Awesome use of visualizations. This is really helpful, thank you!

  • @pratiklohar4566
    @pratiklohar4566 4 ปีที่แล้ว

    This the best explanation on executor service I have found so far . Thank you so much. Expecting more such videos from you !

  • @mehulsolanki9435
    @mehulsolanki9435 2 ปีที่แล้ว

    Clear and concise. As simple as it can get. Keep up the good work!

  • @rj7560
    @rj7560 4 ปีที่แล้ว

    Big fan of you. Please more videos... Thank you very much.. much appreciated

  • @priyanka0112
    @priyanka0112 3 ปีที่แล้ว

    Awesome explanation. This is the best i have seen so far. Looking forward to watch all your videos.

  • @abzzz4u
    @abzzz4u 4 ปีที่แล้ว

    All answers in one video ....keep them coming bro

  • @GanaviN-f1o
    @GanaviN-f1o 5 หลายเดือนก่อน

    you explained this so clearly.....thanks for this !

  • @jamshadm
    @jamshadm 3 ปีที่แล้ว

    I didnt understand why there are 49 dislikes for this video? He explained very well..

  • @parambharti7095
    @parambharti7095 3 ปีที่แล้ว +1

    Extremely awesome. Please keep making videos like this.

  • @RamKumar-dm6es
    @RamKumar-dm6es ปีที่แล้ว

    Thank You Deepak bhaiya for explaing this concept so beautifully

  • @shikharchoudhary7639
    @shikharchoudhary7639 6 ปีที่แล้ว

    Your visualization techniques are phenomenal.

  • @gobindarora007
    @gobindarora007 5 ปีที่แล้ว +2

    Cleared all my doubts. Thanks for this amazing video. Keep doing the great work.

  • @ladnsathukorala
    @ladnsathukorala 2 ปีที่แล้ว

    Excellent Explanation 👍

  • @utkalkesharisahu3014
    @utkalkesharisahu3014 2 ปีที่แล้ว

    You should post more bro.
    You really explain complicated topics in a really simple manner.

  • @raghavmanchanda4736
    @raghavmanchanda4736 ปีที่แล้ว

    Best explanation ever, thanks for it😇😇

  • @FalconMinds
    @FalconMinds 2 ปีที่แล้ว

    Awesome explanation.. love your work brother

  • @sametbaskc3768
    @sametbaskc3768 ปีที่แล้ว +2

    Thanks for this clear explanation. You are doing a great job. I just wonder what is the strategy you follow to learn the concepts in crystal clear?
    Could you also share the resources (book, articles, docs) you follow when you were learning this topics?

  • @sekharsoftware
    @sekharsoftware 5 ปีที่แล้ว +1

    Really precise to the point and very useful. You should do a podcast.

  • @thebibhuty
    @thebibhuty 5 ปีที่แล้ว +8

    Just one suggestion, always give a link to working code, you explain well, the only thing I think missing is a link to a working code

  • @digvijaynalawade9207
    @digvijaynalawade9207 2 ปีที่แล้ว

    Explained very nicely 👌

  • @sanjeevanemani6720
    @sanjeevanemani6720 4 ปีที่แล้ว

    maan.....where u been all these days? Glad to find ur channel. Please make more videos.

  • @sathishspeaks
    @sathishspeaks 2 ปีที่แล้ว

    Defog come back and do more videos you are the best in explaining complex concepts buddy

  • @shubhamjain2810
    @shubhamjain2810 4 ปีที่แล้ว

    Your way of explaining the topics are really good. I am having one question. It might be stupid one,but I wants to know
    How to handle the Atomicity for write and Read operation in Such case.
    Pool size is of 20.
    t1 to t20 are doing write operation. ---> They will be in waiting state
    t21 to t30 are doing Read operation. ---> In between any of this thread comes in and start reading and get response before completion of write operation of all 20 threads . It may get old data.

  • @marshalkiruba
    @marshalkiruba 4 ปีที่แล้ว +7

    Loved the explanation. Just a lame question. For a CPU intense operation, shouldn't the ideal thread pool size be (no of cores-1) as there is already a main thread running?

    • @rizwansayyed7893
      @rizwansayyed7893 3 ปีที่แล้ว

      i really would like to know this

    • @HussainMohammedAshruf
      @HussainMohammedAshruf 3 ปีที่แล้ว

      @@rizwansayyed7893 main thread dies soon, before other threads!

    • @rizwansayyed7893
      @rizwansayyed7893 3 ปีที่แล้ว

      @@HussainMohammedAshruf i don't understand does main thread count in cpu runtime cores available

  • @ahmedkhan8352
    @ahmedkhan8352 10 หลายเดือนก่อน

    I watched many videos, but your video is the best till now I have watched.
    Can you please make videos on "Fork Join" as well ?

  • @flywithashutosh4772
    @flywithashutosh4772 5 ปีที่แล้ว +1

    Why so less subscriber to such a beautiful channel , great work dude keep it up.

    • @DefogTech
      @DefogTech  5 ปีที่แล้ว

      Thanks buddy!

  • @786PrvN
    @786PrvN 6 ปีที่แล้ว +3

    Very much simplified and same effective as well. +1 :)

  • @smarttrupti2007
    @smarttrupti2007 2 ปีที่แล้ว

    Beautiful explanation

  • @rajeshg3570
    @rajeshg3570 2 ปีที่แล้ว

    awesome explanation .. really like it

  • @aakashjain3498
    @aakashjain3498 4 ปีที่แล้ว

    Wow. Hats off for that explanation.

  • @kogilathotavijayreddy4963
    @kogilathotavijayreddy4963 2 ปีที่แล้ว

    Defog Tech! You live upto your name

  • @RohitPal-lz1wf
    @RohitPal-lz1wf 3 ปีที่แล้ว

    Very well structured and explained perfectly. I would love to see the tutorial during my free time

  • @techieszone3704
    @techieszone3704 6 ปีที่แล้ว +2

    Fantastic explaination..thanks. Can you pls share the slides of this tutorials also. Thanks!

  • @vkalaivanan
    @vkalaivanan 5 ปีที่แล้ว +1

    Concepts are clear and simple to understand. Thank you :)

  • @kooostia16
    @kooostia16 2 ปีที่แล้ว +1

    Can we have two thread pools, one for io tasks and another for cpu intensive tasks?

    • @DefogTech
      @DefogTech  2 ปีที่แล้ว +1

      Yes, we can have multiple threadpools in an application

  • @CodeNCode-rm8ci
    @CodeNCode-rm8ci 3 ปีที่แล้ว

    Very good explanation.

  • @sonyroy45
    @sonyroy45 3 ปีที่แล้ว

    You are awesome, please don't stop posting such videos 🙏

  • @kamleshpar9847
    @kamleshpar9847 4 ปีที่แล้ว

    Very well explained , pl continue your excellent work

  • @dvoulio
    @dvoulio 4 ปีที่แล้ว

    Guys.... the absolutely most crystal clear explanation of Thread Pools I have ever heard. Beautifully sparse, no-noise or arm waving... well-presented and recorded. Bravo... I have become a great fan and are convincing others as well !!
    One small request... what is the cursor enhancing software you are using in the presentation ???

    • @DefogTech
      @DefogTech  4 ปีที่แล้ว

      It's pointer function in Google Slides.
      Thank you so much for the kind words BTW! Means a lot to me

  • @sampratikatariya5928
    @sampratikatariya5928 ปีที่แล้ว

    Explained very well!!

  • @abrehamish
    @abrehamish 3 ปีที่แล้ว

    Excellent explanation

  • @viveksingh-rt4py
    @viveksingh-rt4py 8 หลายเดือนก่อน

    Thanks a ton for sharing the video. Clear and concise explanation. May I ask you one question. Say If I have multi core processor and I have initialised ExecutorService with pool size as 100, all my task are IO intensive. Scheduler will make use of all core and will execute threads on different core. Is my understanding right.

  • @Maddy-jn5pk
    @Maddy-jn5pk 8 หลายเดือนก่อน

    Thank you, amazing explanation!

  • @jyoshnaroy7205
    @jyoshnaroy7205 4 ปีที่แล้ว

    Outstanding explanation and thanks a lot. Life saver.

  • @muruganvellaichamy709
    @muruganvellaichamy709 5 ปีที่แล้ว +5

    Very well explained. Thanks for this. :)

  • @prateekgupta8861
    @prateekgupta8861 3 ปีที่แล้ว

    Very very well explained. Thanks.

  • @ayendreyeesinha7204
    @ayendreyeesinha7204 3 ปีที่แล้ว

    Nicely explained,👍👍👍👍, would like to see some video on design patterns from interview prospective...

  • @raghavendradake2057
    @raghavendradake2057 5 ปีที่แล้ว

    Crisp and clear explanation ... Amazing work 👍

  • @m.arslankhan7449
    @m.arslankhan7449 4 ปีที่แล้ว +1

    if I have a 4 cores, I will make a thread pool of 4 size but if I want to do io (database/network call operation) task. then how I can decide to make a max number of thread pool. In your case you make the size of pool 100 for networking operation task. what if we have only 2 core or we have more than 12 cores what would we set the max size of pool?

    • @DefogTech
      @DefogTech  4 ปีที่แล้ว

      I have made another video calling "What is ideal threadpool size" that might help answer this question

    • @m.arslankhan7449
      @m.arslankhan7449 4 ปีที่แล้ว +1

      @@DefogTech I watched that complete video. You told that if the task is cpu intensive then ideal pool size would be the cpu core count, If IO intensive task then ideal pool size should ne "Hight". So what do High means? How to decide the pool size for io intensive task beside 2 core /4 cores/8/12/16....?

    • @DefogTech
      @DefogTech  4 ปีที่แล้ว

      Depends on the latency of the IO task, and arrival rate of new tasks. If IO is long then count can be higher.

  • @vijaynandwana4289
    @vijaynandwana4289 5 ปีที่แล้ว +2

    You are awesome, thank you for posting these videos.

  • @MrVitalirapalis
    @MrVitalirapalis ปีที่แล้ว

    Very informative!

  • @j.almadhaji
    @j.almadhaji 3 ปีที่แล้ว

    so detailed 👍
    thank you sir

  • @priyanka0112
    @priyanka0112 3 ปีที่แล้ว

    Please create videos on Design Patterns and SOLID Principles.

  • @deepamgupta8011
    @deepamgupta8011 4 ปีที่แล้ว

    Clear cut explanation!

  • @hemanthsavithala4081
    @hemanthsavithala4081 5 ปีที่แล้ว +1

    Awesome video...
    Thanks for your efforts & all

  • @rsousaj
    @rsousaj 3 ปีที่แล้ว

    Very well explained! Thanks

  • @vijayakumarvj
    @vijayakumarvj 5 ปีที่แล้ว +1

    Can you pls make videos with in-depth details on generics..I must say above videos are incredibly awesome

  • @shekhar_2014
    @shekhar_2014 4 ปีที่แล้ว

    I must tell you , your explanation on all topics are very clear and easily understandable. Thank you somuch for the vdos .. :) .. Can you please upload a vdo on React Js , If posible.

  • @jayasinghekasun
    @jayasinghekasun ปีที่แล้ว

    Great explanation

  • @sharatchandra9198
    @sharatchandra9198 4 ปีที่แล้ว

    extra extra ordinary.

  • @hemanthsavithala4081
    @hemanthsavithala4081 5 ปีที่แล้ว +1

    For example :: there are t1...t10 threads. Assume that at t5 exception occurs. In this case will rest of the threads execute ?

    • @DefogTech
      @DefogTech  5 ปีที่แล้ว

      Yes, one thread dying does not effect other threads

  • @HaSeebpjr01
    @HaSeebpjr01 ปีที่แล้ว

    Well explained, thanku so much

  • @learnlearn8230
    @learnlearn8230 4 ปีที่แล้ว

    Thanks a lot, very well explained .I feel one of the best video so far compare others on youtube

  • @rpkm85
    @rpkm85 6 ปีที่แล้ว +2

    Very neatly explained... good work bro.. 👍🏻👍🏻