一个积分(数值计算)过程 产生大量数据
这些数据分别显示在 6个CHART 中,希望 计算和图像的显示 要同步。
问 需要分为 6个线程么 ?还有,计算的过程 放在 synchonrize(integrator)里面 好,还是 直接放在
线程的 THREAD.EXECUTE 里面呢?我希望达到的效果是: 积分一部分 然后画一部分,然后再积分,再画。
如果不画图,积分过程本身就慢 需要几分钟,
但是加了同步后,计算过程比画的过程快多了
我加了application.messages 后 还是不爽,有高手指点么?
拜托!100分!

解决方案 »

  1.   

    我发现并没有你所说的100分?!
    计算的过程 当然放到Thread.excute中!,如果放到synchorize中还搞什么多线程,synchorize这玩艺与主线程同步--也就是说它会阻塞主线程--与在主线程中执行没什么两样(我没试过,但是有理由认为synchorize就是在主线程中之行的,可用GetThreadId看看)!
    画图必须放到synchonrize中去,因为window gui不支持多线程操作.
    至于消息,既然有了synchonrize,用不用消息都无所谓,当然,你要是不想阻塞工作者线程,利用
    postmessage也是可以的,但是sendmessage就没必要了,根synchonrize一样.
    有关现成的问题都可以问我,这不是吹牛!
      

  2.   

    谢谢。application.messages起初,我这个过程没有加 运行期间就出问题的,计算过程太快,而画图跟不上刷新,加了后,能实现预期所设想的。
    那只是一个简单的例子。
    现在我加积分过程,刷新又发生了 延迟,我怀疑是否需要用多线程来控制。
    我的QQ 47843360 谢谢
      

  3.   

    你可以在Thread.excute调用synchorize--在synchorize中画图.
    或者post一个消息之后就sleep一会儿等待.