现在有一个TLIST,是多线程公用的资源,每个现成对TLIST的操作有添加,删除和查找,现在搞不清楚对多线程添加,删除和查找TLIST时候是否需要保护,又改如何保护的问题

解决方案 »

  1.   

    有些组件是具有.lock等方法的,但是有些是没有的,没有的情况下就需要建立TCriticalSection的对象,对TList进行保护。
      

  2.   

    myLocker: TCriticalSection;
    begin
      myLocker.acquire;
      .......
      myLocker.release;
    end;
      

  3.   

    楼上的,那是不是对添加和删除操作做保护呢?个人认为多线程对TLIST添加删除的时候,TLIST数据应该是安全的,是不是这样?但是添加、删除和查找是有冲突的,所以对查找操作做保护就够了