Jdk8新特性之Stream 3

2021-10-04 15:50:52 字數 2452 閱讀 4008

對比一下序列流和並行流的效率:

/**

* @author

wgr * @create 2020/3/31 */

public

class

demo07parallel

@after

public

void

destory()

//@test

public

void

testparallelstream()

//@test

public

void

teststream()

}

我們可以看到parallelstream的效率是最高的。

stream並行處理的過程會分而治之,也就是將乙個大任務切分成多個小任務,這表示每個任務都是乙個操作。

下面具體來做一下實驗:

並行流:

獲取並行流有兩種方式:

直接獲取並行流: parallelstream()

將序列流轉成並行流: parallel()

並行流的執行緒安全問題:

//解決parallelstream執行緒安全問題方案一: 使用同步**塊

object obj = new

object();

intstream.rangeclosed(1, 1000)

.parallel()

.foreach(i ->

});system.out.println("list = " +list.size());

}

//

parallelstream執行緒安全問題

@test

public

void

parallelstreamnotice() );

"list = " + list.size());

//解決parallelstream執行緒安全問題方案一: 使用同步**塊

//object obj = new object();

1000)

//.parallel()

//.foreach(i ->

//});

//解決parallelstream執行緒安全問題方案二: 使用執行緒安全的集合

parallelstream執行緒安全問題

Jdk8新特性之Stream 3

對比一下序列流和並行流的效率 author wgr create 2020 3 31 public class demo07parallel after public void destory test public void testparallelstream test public void ...

JDK8新特性之Stream流

j a.util.stream.stream stream流和傳統的io流,它們都叫流,卻是兩個完全不一樣的概念和東西。流可以簡單的說是處理資料集合的東西,可以申明式流式api來處理集合,而不是寫乙個邏輯實現。流分為順序流及並行流,順序流即每個指令按順序執行,並行流即集合裡面的操作並行執行。list...

Jdk8新特性之排序

comparator提供的方法 author wgr create 2020 4 13 16 12 public class person public string getname public void setname string name public integer getage publ...