void WorkHandler::addWork(Work* w){
printf("WorkHandler::insertWork Thread, insertWork locking \n");
lock();
printf("WorkHandler::insertWork Locked, and inserting into queue \n");
m_workQueue.push(w);
signal();
unLock();
}
Я последовал за учебником, и я понял это. Мне было интересно, нормально ли менять порядок singal() и unLock(), как этот
void WorkHandler::addWork(Work* w){
printf("WorkHandler::insertWork Thread, insertWork locking \n");
lock();
printf("WorkHandler::insertWork Locked, and inserting into queue \n");
m_workQueue.push(w);
unLock();
signal();
}
Если я не могу этого сделать, не могли бы вы рассказать мне подробности, почему мне не разрешено это делать? Спасибо заранее.