LINUX.ORG.RU
Ответ на: комментарий от bejevy

Это обычная condition variable.

QMutex mutex;
QWaitCondition cond;

//thread1
void foo(){
 QMutexLocker locker(&mutex);
 cond.wait(); //устанавливаем ожидание
 //выполнение продолжится после сигнала из второго потока
 printf("Condition done\n");
}

//thread2
void bar(){
 QMutexLocker locker(&mutex);
 // cond.WakeOne(); //послать сигнал одному ждущему
 cond.wakeAll(); //послать сигнал всем ждущим
}
staseg ★★★★★
()

QSignal можно попробовать, через emit() (если они одновременно работают)

pztrn ★★★★
()
Ответ на: комментарий от staseg

Или можно разбить вычисления на несколько слотов и связать все сигналами.

anonymous
()
Ответ на: комментарий от staseg

как из потока №1 пробудить поток №2?

и это правильный ответ!

nanoolinux ★★★★
()

Аналогов нет. И не будет, судя по всему. В винде унифицированный Object Manager.

Задачу же можно режить другими путями, хоть с помощью Condition Variables

lovesan ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.