メッセージをログに記録する関数を作成しています。この印刷機能を別のスレッドから呼び出します。私のコードは次のとおりです。
MyLog::printLog(const char* s)
{
std::string myline(s);
//m_Mutex is class member and there will be only object for this class
// shared by all threads
int ret = pthread_mutex_lock(&m_Mutex);
if ( ret != 0 )
{
std::cout<<" trying to lock same mutex char* "<<std::endl;
}
//code to log message in File
pthread_mutex_unlock(&m_Mutex);
}
私の質問は、上記の関数が "from thread1" 、 "from thread 2" などの引数を使用して異なるスレッドから呼び出された場合、... const char * が間違った値を印刷する可能性がありますか? 私の質問が明確であることを願っています。