在我的下面的线程中使用全局变量是好的吗?

时间:2017-07-18 19:39:11

标签: c++ c multithreading

我编写了一个代码,该代码在同一个进程中有一个名为多个时间的线程,我对锁机制很好。

我正在使用一个全局变量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 
  }
}

0 个答案:

没有答案