小弟需要顺序向串口发出几个数据包,然后检查其返回值是否正确,希望可以顺序执行.
其中读写的过程为异步调用,一次写很多个包,所以一起放出了很多个线程,小弟希望他们按顺序执行(回调函数也是,否则就读乱了)
现在小弟采用的方法是在写函数里加了一个IASYRESULT的参数,该参数为上个操作BEGININVOKE的返回值,阻塞本次操作直到上次操作完成为止,但是这也不能保证回调函数是顺序执行的,所以小弟去掉了回调函数,把它放在了写函数的内部,即一个函数先写后读,请问各位大哥们,有没有什么高招?或者套路,谢谢
其中读写的过程为异步调用,一次写很多个包,所以一起放出了很多个线程,小弟希望他们按顺序执行(回调函数也是,否则就读乱了)
现在小弟采用的方法是在写函数里加了一个IASYRESULT的参数,该参数为上个操作BEGININVOKE的返回值,阻塞本次操作直到上次操作完成为止,但是这也不能保证回调函数是顺序执行的,所以小弟去掉了回调函数,把它放在了写函数的内部,即一个函数先写后读,请问各位大哥们,有没有什么高招?或者套路,谢谢
然后顺序启动异步线程。
把线程做成类变量。这样你可以在一个线程里面访问另外一个线程
再次在其中一个线程得内部去判断前面那个线程完成了多少, 这个时候你可以设置几个标志变量
如果这个标志变量到了你想要得那个程度, 就执行,不然就一直等待