在多线程中释放List所占用的资源-List.removeall(List);

遍历List后,判断遍历结束,然后将List内的元素全部删除

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;


public class Test {
private final static Executor executor = Executors.newCachedThreadPool();//启用多线程
public static void main(String[] args) {
final List x=new ArrayList();
x.add("1");
x.add("2");
x.add("3");
for(int i=0;i<=3;i++){
final int j=i;
executor.execute(new Runnable() {
                 @Override
                 public void run() {
                  try{
                  System.out.println(j);
                  System.out.println(x.get(j));
                  if(j==(x.size()-1)){
                  System.out.println("h:"+x.size());
                  x.removeAll(x);
                  System.out.println("h-:"+x.size());
                  }
                  }catch(Exception e){
                 
                 
                  }
}
});
}



}


}


运行结果:

1
1
2
2
3
h:3
h-:0
3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值