我用 socket 接收到NO ,接收到一个NO就通过Carthread:=TCarthread.create(NO) ;创建一个线程,
 是不是接收到多个NO,就会创建多个线程呢?
 如果这样的话我接收到NO为EE,于是创建一个线程,过了一会SOCKET又接收到NO为BB,于是又创建一个线程,再过了一会又接收到NO为EE,此时我想终止并释放EE线程,这个终止具体得怎么写呢? 
 

解决方案 »

  1.   

    是不是接收到多个NO,就会创建多个线程呢?
    是此时我想终止并释放EE线程,这个终止具体得怎么写呢?
    参考一下delphi的demo
      

  2.   

    delphi的demo关于多线程的只有一个排序的呀,Carthread.destroy(EE);这样行不?
      

  3.   

    是这样的,socket接收信号,如果信号为(开始,NO),则单独开一线程不断采集车号为NO的车的信号,直到接收到(结束,NO),才终止并释放这线程,NO是个变量。这个要怎么才能"把线程放到列表中,然后逐个释放!"说详细点,好吗?我新手,不太懂!谢谢!
      

  4.   

    把线程放到列表中,然后逐个释放List.add(Thread.create)
      

  5.   

    不想创建线程就用windows的线程池,直接用queueuserworkitem,把回调函数地址传进去即可。线程会自动调用你的回调函数。不过此函数在kernel动态库中,需要手动导出。