wangguohui0726
码农快乐盒
采纳率0%
2018-11-22 03:42

ArrayList多线程添加元素异常,怎么解决?

  • arraylist
  • 多线程
  • 异常
  • 线程

代码如下,运行时有时候会成功,有的时候就会报错

 public static void main(String[] args) {
       Random random = new Random();
       int i = random.nextInt(20);
       ArrayList<String> arrayList = new ArrayList<>();
       for (int i1 = 0; i1 < i; i1++) {
           new Thread(()->{
               arrayList.add(Thread.currentThread().getName());
           }).start();
       }
       System.out.println(arrayList);
   }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • shenshucong520 glustful 3年前

    CopyOnWriteArrayList来代替你的arraylist啊,一个是线程安全的,一个不是

    点赞 1 评论 复制链接分享
  • wangguohui0726 码农快乐盒 3年前

    代码的目的就是随机生成多个线程,将线程名字存到集合里然后打印,但是总出错,搞不懂啊

    点赞 评论 复制链接分享

为你推荐