Parallel Streams, CompletableFuture, and All That: Concurrency in Java 8

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.ย. 2024

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

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

    This video should be watched by every serious Java developer

  • @sixbrx
    @sixbrx 6 ปีที่แล้ว +10

    I enjoyed this, I do a bit of parallel stream processing myself here and there but still learned a few things here. The speaker really packs a lot of good info into this talk.

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

    thanks a lot , This video should be watched by every serious Java developer

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

    This is a really good explaination of using CompletableFuture and parallel streams

  • @benjamine.ndugga729
    @benjamine.ndugga729 5 ปีที่แล้ว +8

    Interesting to note that the forkJoin pool sets the number of runnables equal to the cpu cores.

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

    hi, when should i use Project Loom instead of Reactive

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

    @Java can you guys please share the ppt here :) love the video

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

    I'm a bit confused - Kenneth said that parallelism is not worth it on simple operations like sums even on 10 millions of elements - I've tried immediately with JMH with array of one million random elements just sum() of stream and parallel was ten times faster..

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

      I'm not really sure about this but I think he was talking strictly about primitives. I don't know about JMH but if the Array you're testing is for example of type Integer, the autoboxing might have a pretty significant perfomance penalty. Thus making parallelStream worth it again.

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

    amazing video Iam watching at 2023 I hope they released better mac's😂😂😂😂 20:10

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

    Why didn't we name it 'concurrentStream' instead of 'parallelStream'?

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

      he explained in the beginning that "concurrency" is potential, meaning it's not guaranteed it will happen, while parallelism means that tasks will always run in parallel

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

    Confidential?

  • @DeepakPandey-ij3bz
    @DeepakPandey-ij3bz 6 ปีที่แล้ว +2

    Completablefuture is also blocking, until first task is completed second task will not start if second task depends upon first task output... Please explain

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

      So it meant you are using the wrong way.

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

      @@soyphea8697 I think Deepak means the part where he is creating a completablefuture, calling the getRemote synchronously and than completing the cf with the result. That is blocking, it is waiting for the getRemote to finish. But it is not the CF that is blocking, it is the direct call to the getRemote.

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

      he explained in the video that the advantages of using CompletableFuture over Future is that, by chaining CompletableFutures one after the other, you'll be sure they will run in the order that you declared them in the "pipeline". unlike the case of Future, where you need to check isDone() billions of time before you can proceed with other Future calls if you care about running tasks in a particular order.

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

    beginners you can skip this exp 3+ u shud watch this