本文整理汇总了C++中Transition::getCondVar方法的典型用法代码示例。如果您正苦于以下问题:C++ Transition::getCondVar方法的具体用法?C++ Transition::getCondVar怎么用?C++ Transition::getCondVar使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Transition
的用法示例。
在下文中一共展示了Transition::getCondVar方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
void *Transition::process(void *ptr) {
Transition* transition = (Transition*) ptr;
do {
Token* current = transition->getToken();
if (current != NULL) {
#ifdef P_EVENT
transition->dispatchPStartEvent();
#endif
//Process token
//1.BIN Routing
//2.Dynamic Fuzzy Routing
double result = FuzzyLogicDSL::Evaluate(1, 1, 1, 1, 0.3, 0, 1);
cout << result << endl;
transition->forwardToken(current);
} else {
pthread_mutex_t* mutex = transition->getMutex();//TODO remove from transition
pthread_cond_t* cond_var = transition->getCondVar();
pthread_mutex_lock(mutex);
pthread_cond_wait(cond_var, mutex);
pthread_mutex_unlock(mutex);
}
} while (!transition->isStopped());
pthread_exit(0);
return 0;
}