课程
/后端开发
/Java
/一课掌握Lambda表达式语法及应用
用一个list转为并发流,又用Collectors转回普通的list,你既没有remove 也没有add 在说明什么问题呢?
2020-04-01
源自:一课掌握Lambda表达式语法及应用 5-3
正在回答
因为多个线程同时可能都处理了同一条数据,比如线程1和线程2,cpu先分配线程1处理数据,线程1处理到第20个数据时,还未处理完,cpu分配时间到了,然后cpu分配任务给线程2,因为没有同步锁,线程2又把第20条数据add进去了,接着线程2时间到了,轮到线程1,他会接着走他的没走完的那条数据,又会把20add进去,大概就是这个意思,这就是线程不安全和安全的问题,老师说了可以使用同步锁代码块来解决,或者从数据源开始就使用线程暗转的集合
补充一下,这里不太明白为啥数组越界了
举报
深入浅出,快速掌握Lambda表达式“如何用”“怎么用”
1 回答并没有解释说明x y是什么
1 回答静态接口方法和默认接口方法的区别,举得代码例子没有太理解,觉得他们没什么区别
1 回答关于重载方法:最后IDE简化成 app.lambdaMethod((Param1) System.out::println);
2 回答为什么我写的时候都是报错,导入包为什么不说一下,我太难了,而且导入lombok的包给没有用啊
3 回答使用lambda表达式 的接口,不是要在接口类上添加注解@FunctionalIterface吗,为什么老师这里在类里面声明的就不需要添加注解