本文整理汇总了C++中NPT_List::Unlock方法的典型用法代码示例。如果您正苦于以下问题:C++ NPT_List::Unlock方法的具体用法?C++ NPT_List::Unlock怎么用?C++ NPT_List::Unlock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NPT_List
的用法示例。
在下文中一共展示了NPT_List::Unlock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
/*----------------------------------------------------------------------
| NPT_PSPQueue::Pop
+---------------------------------------------------------------------*/
NPT_Result
NPT_PSPQueue::Pop(NPT_QueueItem*& item, NPT_Boolean blocking)
{
// lock the mutex that protects the list
m_Items.Lock();
NPT_Result result;
//if (blocking) {
// while ((result = m_Items.PopHead(item)) == NPT_ERROR_LIST_EMPTY) {
// // no item in the list, wait for one
// //NPT_Debug(":: NPT_PSPQueue::Pop - waiting for queue to fill up\n");
// pthread_cond_wait(&m_CanPushOrPopCondition, &m_Mutex);
// }
//} else {
result = m_Items.PopHead(item);
//}
// if the list was previously full, signal the condition
// to wake up the waiting thread
//if (m_MaxItems && (result == NPT_SUCCESS)) {
// if (m_Items.GetItemCount() == m_MaxItems-1) {
// pthread_cond_signal(&m_CanPushOrPopCondition);
// }
//}
// unlock the mutex
m_Items.Unlock();
return result;
}