为了账号安全,请及时绑定邮箱和手机立即绑定

关于多线程 java.util.ConcurrentModificationException 问题

关于多线程 java.util.ConcurrentModificationException 问题

哆啦的时光机 2019-03-21 18:15:08
目标:定义一个Producer类创建Student并添加到studnts集合中,再定义一个Consumer类从studnts集合中取出数据并打印控制台。Producer,Consumer类都实现了Runnable接口。在MainTest类的main方法中创建线程并启动,如下所示:        Producer p = new Producer();        Thread tp1 = new Thread(p);        tp1.start();                Consumer c = new Consumer();        Thread tc1 = new Thread(c);        tc1.start();这个时候,当tc1线程要执行的时候就报java.util.ConcurrentModificationException错误,我本是对线程调用这一块儿不是太明白。请大侠们帮我解决一下儿,请告诉我问啥会出这样的问题。 具体类如下所示:  Student类:一个普通类,其中定义了一个name属性和一个age属性。public class Student {    private String name;    private String age;        public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    }        @Override    public int hashCode() {        final int prime = 31;        int result = 1;        result = prime * result + ((age == null) ? 0 : age.hashCode());        result = prime * result + ((name == null) ? 0 : name.hashCode());        return result;    }    @Override    public boolean equals(Object obj) {        if (this == obj)            return true;        if (obj == null)            return false;        if (getClass() != obj.getClass())            return false;        Student other = (Student) obj;        if (age == null) {            if (other.age != null)                return false;        } else if (!age.equals(other.age))            return false;        if (name == null) {            if (other.name != null)                return false;        } else if (!name.equals(other.name))            return false;        return true;    }        } Classroom接口:其中定义了一个名称为studnts的List用于存放Student对象。public interface Classroom {    List<Student> studnts = new ArrayList<Student>();} State抽象类:其中定义了一个状态,想用这个对studnts集合的操作进行控制。public abstract class State {    boolean state=true;} 
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 306 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号