📄 umc_mail_box.h
字号:
/*////////////////////////////////////////////////////////////////////////////////// INTEL CORPORATION PROPRIETARY INFORMATION// This software is supplied under the terms of a license agreement or// nondisclosure agreement with Intel Corporation and may not be copied// or disclosed except in accordance with the terms of that agreement.// Copyright(c) 2003-2005 Intel Corporation. All Rights Reserved.//*/#ifndef __UMC_MAIL_BOX_H__#define __UMC_MAIL_BOX_H__#include "umc_mutex.h"namespace UMC{ template <class T> class MailBox { public: MailBox():m_bHasMessage(false){} Status Init(); Status Put(T& rMessage); Status Get(T& rMessage); protected: Mutex m_Access; bool m_bHasMessage; T m_Message; };} // namespace UMCtemplate <class T>UMC::StatusUMC::MailBox<T>::Init(){ m_bHasMessage = false; return m_Access.Init();}template <class T>UMC::StatusUMC::MailBox<T>::Put(T& rMessage){ Status umcRes = UMC_OK; m_Access.Lock(); m_Message = rMessage; m_bHasMessage = true; m_Access.Unlock(); return umcRes;}template <class T>UMC::StatusUMC::MailBox<T>::Get(T& rMessage){ Status umcRes = UMC_OK; m_Access.Lock(); if (m_bHasMessage) { rMessage = m_Message; m_bHasMessage = false; } else { umcRes = UMC_TIMEOUT; } m_Access.Unlock(); return umcRes;}#endif // __UMC_MAIL_BOX_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -