初做多线程,想做一个比如100个线程相互不冲突不干扰,可以单独添加或者杀掉的多线程程序,有高手给个思路吗?最好有代码可以直观点。

解决方案 »

  1.   

    很easy啊,关键是保证线程要经常判断Terminated就行
    杀掉直接用terminate
      

  2.   

    >>想做一个比如100个线程相互不冲突不干扰,可以单独添加或者杀掉的多线程程序
    區別你的你線程是做什麼的??如果是要訪問VCL, 訪問更新界面, 共享資源的, 就比較麻煩, 要不是, 那一個線程或多個, 區別不大!
      

  3.   

    我的意思是在程序已经运行的情况下可以动态地管理线程,线程自己不能够terminate.
      

  4.   

    目的是多线程访问数据库和DLL,实现网络通信。
    分析所收到数据,根据数据的不同调用DLL里的不同函数,并访问数据库里不同数据,并发送相应的数据。保证实时,不能够冲突和间断。
      

  5.   

    创建一个线程列表
    Threads:TList;
    要添加一个线程:
    Threads.Add(TMyThread.Create)
    删除一个线程:
    Threads[I].Terminate;
    Delete(I);
      

  6.   

    与管理 100 个 TEdit 没什么区别。
    区别只是在 TEdit 和 TYourThread 的内部处理不同。
      

  7.   

    to hiflower(花): 内部处理怎么个不同呢?能说详细点吗?
      

  8.   

    就是说,在你的线程中要处理各线程的资源冲突,可能需要同步,互斥等操作
    而一般的VCL类只关心自己。