我编写了一个代码,该代码在同一个进程中有一个名为多个时间的线程,我对锁机制很好。
我正在使用一个全局变量bool,它通知何时读取文件。 我不确定在线程中使用全局变量是否是良好实践如果不是,请在下面的情况下建议如何避免使用全局变量。
//global
bool lock_file_read =false;
//注意这个线程是从同一个进程多次调用的,使用global var是好的吗?
static void * runMyScript(void *tempFile)
{
pthread_t threads;
lock_file_read = true;
/* Lock mutex code */
pthread_mutex_lock( &count_mutex)
system("myscript takes around 20-30 sec");
/* Unlock Mutex code*/
pthread_mutex_unlock( &count_mutex );
lock_file_read=false;
}
void ReadFileWhen_Script_completed()
{
if(!lock_file_read)
{
//read it
//call to thread
}
}