1、必须用TCriticalSection来保护Counter,确保没有并发访问;
2、Event1.WaitFor(1000)应该在线程4、5中使用;

解决方案 »

  1.   

    我也在关注线程的同步问题,我想在新建的线程中运行CreateOLEObject建立的ADO对象访问数据库并有若干全局变量,可行吗?
      

  2.   

    在线程4,5中怎么用?
    在Execute事件中调用吗?
    能不能说的详细点?
      

  3.   

    对啊。在线程4、5的Execute方法的一开始处调用WaitFor就可以了。
      

  4.   

    为什么不用RESUME呢,先创建好线程,挂起,当1,2,3执行完以后将4,5
    resume起来,如果用全局变量来判断的话,最好是用临界保护起来,以免几个线程同时更改该变量