这种方式获得的List肯定是性能不高的,只是写一下,有这种方式可以选择:
import java.util.ArrayList; import java.util.Collections; import java.util.List; public class ListLearn { public void synchronizedList() { // 可以注意看一下Collections.synchronizedList返回的线程安全类的源码,它们的synchronized加锁是加在mutex对象上的 // 而不是直接在方法上标注synchronized。 // 我想,这样的好处就是能够灵活一些,毕竟这些都是很基础的类,如果写的很死日后不好扩展 // 而且我还注意到,其实mutex就是指向了this,所以更能印证我上面这个解释。因为目前看加在方法上和加在mutex上,效果是一样的。 List<String> synchronizedList = Collections.synchronizedList(new ArrayList<>()); } }
原创文章,作者:geekgao,如若转载,请注明出处:https://www.geekgao.cn/archives/2484