我有四个线程,主线程(从ArrayList中读对象的值)、插入新对象入队列线程、更新队列中对象值线程、删除队列中对象线程。他们执行时间是随机的,只是保证队列修改、更新、插入、删除是正确的。我这样对吗?
private ArrayList list = new ArrayList();// 读取对象函数
Read()
{
   lock(list)
  {
      for(int i = 0; i < list.count; i++)
      {
          // 读对象,代码省略
          
      }
  }
}/// 更新对象线程启动函数
Update()
{
   lock(list)
  {
      for(int i = 0; i < list.count; i++)
      {
          // 读对象,本改变符合要求的对象的值代码省略
          
      }
  }
}/// 删除对象线程启动函数Delete()
{
   lock(list)
  {
      for(int i = 0; i < list.count; i++)
      {
          // 读对象,本改变符合要求的对象的值代码省略
          
      }
  }
}/// 插入对象线程启动函数
Insert()
{
    lock(list)
    {
       A a = new A();
       list.Add(a);
    }
}