这个while
循环在响应时间上有很长的时间,因此我尝试将每次迭代分配给一个线程,但我不知道是什么?
请回答我:(
string tmp = fr.getNextWord();
while (tmp != "")
{
hf << h->getHash(tmp) << endl;
ENFA * enfa = new ENFA();
* enfa = generateNfaFromString("%s%a_l%a%m%");
if (enfa->accepts(h->getHash(tmp), getHashChar))
{
of << "true" << endl;
} else
{
of << "false" << endl;
}
tmp = fr.getNextWord();
}
答案 0 :(得分:0)
假设您可以将fr
中的所有字词存储在std::vector
中,您可以尝试使用openmp
std::vector<string> v;
//TODO: loop over `fr` and push_back the words onto `v`
# pragma omp parallel for
for (int i = 0; i < v.size(); ++i) {
//use `v[i]` instead of `tmp` in your code
}
答案 1 :(得分:0)