1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#include <QCoreApplication>
#include <QSemaphore>
#include <QObject>
#include "ThreadTest.h"
#include "ObjetTest.h"
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
QSemaphore synchro;
ThreadTest T1(synchro); T1.start();
ThreadTest T2(synchro,true); T2.start();
ThreadTest T3(synchro); T3.start();
synchro.acquire(3);
/* Scénario 1 */
//QObject::connect(T1.Objet,SIGNAL(signal()), T2.Objet, SIGNAL(signal()));
/* Scénario 2 */
QObject::connect(T1.Objet,SIGNAL(signal()), T2.Objet, SIGNAL(signal()), Qt::DirectConnection);
QObject::connect(T1.Objet,SIGNAL(signal()), T2.Objet, SLOT(Emettre()));
QObject::connect(T2.Objet,SIGNAL(signal()), T3.Objet, SLOT(Recevoir()));
T1.Emettre();
return app.exec();
} |
Partager