對比一下序列流和並行流的效率:
/**我們可以看到parallelstream的效率是最高的。* @author
wgr * @create 2020/3/31 */
public
class
demo07parallel
@after
public
void
destory()
//@test
public
void
testparallelstream()
//@test
public
void
teststream()
}
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...