У меня есть две функции.Один из них находится в классе поиска и имеет имя продюсер1, а второй - в классе search2 и называется потребитель1.Когда эти две функции независимы, я использую эти команды, и обе функции работают как потоки одновременно.
thread1 = new QThread();
thread2 = new QThread();
mySearch = new Search() ;
mySearch2 = new Search2() ;
mySearch->connect(mySearch,SIGNAL(transmit_to_gui(QStringList)),this,SLOT(receive_from_object(QStringList)));
mySearch2->connect(mySearch2,SIGNAL(transmit_to_gui1(QStringList)),this,SLOT(receive_from_object1(QStringList)));
connect(mySearch, SIGNAL(workRequested()), thread1, SLOT(start()));
connect(thread1, SIGNAL(started()), mySearch, SLOT(producer1()));
connect(mySearch, SIGNAL(finished()), thread1, SLOT(quit()), Qt::DirectConnection);
thread1->start();
connect(mySearch2, SIGNAL(workRequested2()), thread2, SLOT(start()));
connect(thread2, SIGNAL(started()), mySearch2, SLOT(consumer1()));
connect(mySearch2, SIGNAL(finished2()), thread2, SLOT(quit()), Qt::DirectConnection);
thread2->start();
Но, когда они имеют общий кольцевой буфер и они зависят, указанные выше команды не активируют потоки.Может кто-нибудь помочь, пожалуйста?
Заранее спасибо.