C++ (Qt)for (int i = 0; i < dataSize; i++){ mutex.lock(); // Блокирем мютекс while (listTask.size() == bufSize) // Если буфер полный bufNotFull.wait(&mutex); // Ждем побудки буфер не полный listTask.push_back(i); // Генерируем задачу // bufNotEmpty.wakeAll(); // Побудка что буфер не пустой mutex.unlock(); // Разблокируем мютекс bufNotEmpty.wakeAll(); // <----}
C++ (Qt)pthread_mutex_lock(&lock); go = 1;pthread_mutex_unlock(&lock);pthread_cond_signal(&cond);