有没有办法让unit3.thread()在其他两个线程之后运行?
all of
{
{
unit1.thread();
};
{
unit2.thread();
}
};
unit3.thread();
我希望单元1和2中的线程并行运行,并且线程3在完成后运行。但是因为run()不是一个耗时的方法解决方案,如:
$ which pip Thu Dec 31 17:56:58 EST 2015
/usr/local/bin/pip
$ which python Thu Dec 31 18:01:09 EST 2015
/usr/local/bin/python
$ pip install flake8 Thu Dec 31 18:01:20 EST 2015
Requirement already satisfied (use --upgrade to upgrade): flake8 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
不允许。
有没有办法让unit3.thread()等到前一个线程完成?
答案 0 :(得分:0)
您可以通过在unit1
和unit2
完成时手动触发事件来完成此操作:
extend sys {
event u1_done;
event u2_done;
run() is also {
all of {
{ unit1.thread(); }
{ unit2.thread(); }
};
};
on @u1_done and @u2_done unit3.thread();
};
然后在unit1
和unit2
完成后发出这些陈述:
emit u1_done;
和unit2
:
emit u2_done;
我现在无法访问Specman,因此语法可能不会出现,但我已经使用过这种技术。