Java ExecutorService - Part 2

Поділитися
Вставка
  • Опубліковано 6 лис 2024

КОМЕНТАРІ • 44

  • @garamburito
    @garamburito 3 роки тому +4

    It was a very good and clear explanation about the configuration of numbers of threads, thank you!

    • @JakobJenkov
      @JakobJenkov  3 роки тому

      Good - glad you think so ! :-)

  • @sharadyadav9630
    @sharadyadav9630 3 роки тому +3

    Great .Please continue your work.

    • @JakobJenkov
      @JakobJenkov  3 роки тому +1

      Thank you, I will - although I have limited time to make these videos, unfortunately! :-)

  • @LucAlucard1
    @LucAlucard1 10 місяців тому +2

    Does Java use parallelism when we use Threads automatically? For example, If I've 4 CPU cores, if I create 4 threads, will they be executed equally among the existent CPUs?

    • @JakobJenkov
      @JakobJenkov  10 місяців тому +2

      Java's standard threads (now called Platform Threads) are OS threads - so it is up to the OS to decide where your threads run. In many cases your threads will run on multiple CPU cores. But if the computer is very busy on all CPU cores with other tasks, your threads might end up running on the same core, or some threads on the same core at least.

    • @LucAlucard1
      @LucAlucard1 10 місяців тому

      @@JakobJenkov thanks for replying teacher! I recently saw your channel and it’s being grate to see all videos. They are quite well explained and detailed!

  • @alicanklc6539
    @alicanklc6539 8 місяців тому +1

    Great explanations also Jakob can you include in which situation(s) do we need to use which of them.

  • @MateuszNaKodach
    @MateuszNaKodach 3 роки тому +2

    Thanks for the amazing video :)
    I have a question for concurrency. If I have for example 8 CPUs you said that, I can create thread pool with 8 threads and execute tasks in the same time.
    But what about others programs running on the same machine? Whats their impact? Our JVM is not only thing, we have operating system etc.

    • @JakobJenkov
      @JakobJenkov  3 роки тому +2

      That is true - then JVM is often not the only process running on the machine. To be sure you would have to measure performance with different number of threads.

  • @LucAlucard1
    @LucAlucard1 10 місяців тому +1

    In case of cancelling it, do we know where it will be stopped? I mean, in previous videos from this exceptional series of multithreading and parallelism, it was sometimes we need to add a flag like "wasCancelled" to stop it in a specific point where it's "safe" for our case. Should we do the same for Future and Callable?

    • @JakobJenkov
      @JakobJenkov  10 місяців тому +1

      As far as I remember, if a task is started - it will finish. I cannot remember if the Java ExecutorService sends a cancel signal to the task. But if a task has been queued in the ExecutorService but not yet started, it will not be started at all.

    • @LucAlucard1
      @LucAlucard1 10 місяців тому

      @@JakobJenkov thanks for explaining, teacher!

  • @achuthiruku4458
    @achuthiruku4458 3 роки тому +1

    Very good video with clear explanation.

  • @bnnr4883
    @bnnr4883 9 місяців тому +1

    is that Thread concept is interduce by you in java 😉? The why you are explaining like you are the founder of thread its really very clear thank you so much for this video's

    • @JakobJenkov
      @JakobJenkov  9 місяців тому +1

      Thank you !! 😁 ... No, I am not the founder of threads in Java... 😁 ... but I have been explaining Java related concepts since 2006, so I had a but of practice 😊

  • @Minimingus
    @Minimingus 3 роки тому +4

    great content! any chance to do something similar for the CompletableFuture api? there are many tutorials but none of them are in depth or show practical, real life examples

    • @JakobJenkov
      @JakobJenkov  3 роки тому +3

      I might - but it all depends on how much time I have available - and at the moment I am really busy...

  • @hareeshjp
    @hareeshjp 3 роки тому +1

    Thank you it was very clear crystal video. Thank you very much Jakob.

  • @andrewnesbitt2593
    @andrewnesbitt2593 Рік тому +1

    Brilliant. Thank you.

  • @JoaoDias-xe2gg
    @JoaoDias-xe2gg 3 роки тому +4

    amazing content, I really enjoy your videos, thank you so much!

    • @JakobJenkov
      @JakobJenkov  3 роки тому +1

      Thanks - and your are welcome :-)

  • @JoseLopez-wh7xe
    @JoseLopez-wh7xe Рік тому +1

    Amazing! 😊

  • @rameshk2338
    @rameshk2338 Рік тому +1

    Hi boss,
    Can you make videos on completable future in java

    • @JakobJenkov
      @JakobJenkov  Рік тому

      Hmm.... I might - thank you for the suggestion! :-)

  • @leonardschmidt1864
    @leonardschmidt1864 Рік тому +1

    can you make a video for the forkjoinpool in java :)

    • @JakobJenkov
      @JakobJenkov  Рік тому

      I have planned to do so 😊 Until then, you can start with the textual version of my ForkAndJoinPool tutorial, here jenkov.com/tutorials/java-util-concurrent/java-fork-and-join-forkjoinpool.html

  • @victorb9486
    @victorb9486 3 роки тому +1

    Is it possible for you to share the code completely?
    For tests it my self,bassically

    • @JakobJenkov
      @JakobJenkov  3 роки тому +1

      Not at this point in time - but maybe for future videos!

    • @victorb9486
      @victorb9486 3 роки тому

      @@JakobJenkov ok, thanks for answer me

  • @menoktaokan
    @menoktaokan 3 роки тому

    Thank you for the video.

  • @BoomLooBoom
    @BoomLooBoom 3 роки тому +3

    The documentation says that ExecutorService#shutdown() does not wait for previously submitted tasks to complete execution docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html#shutdown()

    • @JakobJenkov
      @JakobJenkov  3 роки тому +5

      The method shutdown() does not wait for the ExecutorService to fully shut down - before exiting the shutdown() method. However, the ExecutorService will not be fully shutdown until all submitted tasks have been executed. In other words, the shutdown process continues asynchronously. To wait for all these tasks to finish executing, use awaitTermination(). I apologize if the video is a bit unclear here.

    • @fadidasus6329
      @fadidasus6329 2 роки тому

      @@JakobJenkov thanks for the great content and crystal clear expectations.
      I just want to be sure that I understood the comment here correctly, so, does the shutdown method block the main thread until all tasks have completed, or it waits for all tasks to be completed and then shutdown the executor service without blocking the main thread ?
      Thanks in advance

    • @shamilibrahimov3898
      @shamilibrahimov3898 Рік тому

      shutdown() itself does not block the main thread, but you can use awaitTermination() if you want to block and wait for the tasks to complete and the ExecutorService to shut down.@@fadidasus6329

  • @mdshafi7043
    @mdshafi7043 3 роки тому +1

    Assalamualikum.Can you please make a video or 2 on deadlock situation in java multithreading and how to handle them

    • @JakobJenkov
      @JakobJenkov  3 роки тому

      I can - when I find the time to make it :-)

  • @hungnguyenngoc3069
    @hungnguyenngoc3069 Рік тому

    I need subtitle, thanks