我正在尝试自动化处理程序设备(机器人选择芯片并将其放到硬件平台上),具有以下要求:
1.处理程序有6个站点,一旦处理程序将设备放到该站点上,处理程序将返回错误代码:
code1表示准备测试,code2表示错误,如果正在处理中没有返回代码。
2.有一台主PC控制处理程序操作,通讯黑白主机和站点PC正在使用 Staf
3.我需要使用该代码来运行一些测试(已经实现并正常工作)。 处理程序将设备置于FIFO顺序中,第一个站点首先返回代码,最后一个站点最后返回代码。
4.站点PC正在被动地运行,主PC将确定何时运行以及如何运行测试。站点PC只知道处理程序是否准备好然后执行测试。
所以我的问题是:在这种情况下,对于站点PC(基于Windows且启用了perl和.net),正在忙于等待方法更好或等待条件机制更适合:
例如:示例代码为:
void runTestonSite()
{
for(;;)
{
if(returnCode == code1)
{
testStart(arg1,arg2,arg3);
}
}
}
还是有更好的方法来完成这种任务吗?
#include <boost/thread.hpp>
void getReturnCode() {
// do stuff
}
void RunTestOnSite() {
// do stuff
}
int main (int argc, char ** argv) {
using namespace boost;
thread thread_1 = thread(getReturnCode);
thread thread_2 = thread(RunTestOnSite);
// do other stuff
thread_2.join();
thread_1.join();
return 0;
}
请指教, 感谢