现在我的程序设计是这样的:主线程来控制一个分线程,当主线程创建的时候,分线程也创建,并读取数据,同时主线程接收参数。当主线程接收到一个请求,比如说是查询分线程接收的数据的长度,而这个时候分线程的数据还没有接收完,主线程要怎么来等待着分线程的数据接收完了,才进行回应?

解决方案 »

  1.   

    也就是说主线程等待分线程完成任务时,应该怎么处理这个等待的时间,而不用大量的循环来消耗CPU,这样不能实现吗?
      

  2.   

    用 分线程.Waitfor;这个语句可以等到分线程执行完后再往下执行
      

  3.   

    不懂你的意思,如果是要等到分线程执行完才继续执行主线程,那何必非要多线程?
    如果想在线程结束以后触发一些事件,那写在OnTerminate里就行了
      

  4.   

    我的是在COM里面实现。所以好像无法用
    waitforsingleobject
    application.processmessage现在我是要在主线程创建的时候,要开始初始化数据,这个初始化过程可能要用很长时间,所以才把它做到分线程里面
    主线程创建后,就要开始顺序地往下执行,前面有一些赋值操作,来影响这个数据初始化过程。
    当执行到要往外取数据时,因为这时候初始化可能还没有完成,所以要等到这个初始化过程完成才能把要的数据返回出来。
    jtg98g3(凌晨九点) :我很清楚我要的东西是什么,只是大家的想法不一样了。