void tst_QSemaphore::producerConsumer()
{
    Producer producer;
    Consumer consumer;
    producer.start();
    consumer.start();
    producer.wait();
    consumer.wait();
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    Producer producer;
    producer.registerCallBack(callBackFunction);
    producer.start();
    producer.wait();
}
Exemple #3
0
int main()
{
    usedSpace += BufferSize;

    Producer producer;
    Consumer consumer;
    producer.start();
    consumer.start();
    producer.wait();
    consumer.wait();
    return 0;
}
Exemple #4
0
//! [5]
int main(int argc, char *argv[])
//! [5] //! [6]
{
    QCoreApplication app(argc, argv);
    Producer producer;
    Consumer consumer;
    producer.start();
    consumer.start();
    producer.wait();
    consumer.wait();
    return 0;
}
Exemple #5
0
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Producer producer;
    Consumer consumer;

    producer.start();
    consumer.start();

    producer.wait();
    consumer.wait();
    
    return a.exec();
}
Exemple #6
0
int main(int argc, char *argv[])
{
    //QApplication app(argc, argv);
    //Window *w = new Window;
    //w->resize(300, 300);
    //w->show();
    //return app.exec();
    QApplication app(argc, argv);
    Producer produer;
    Consumer consumer;
    produer.start();
    consumer.start();
    produer.wait();
    consumer.wait();
    return app.exec();
}
// Listing 4 code/ch14
int ACE_TMAIN (int, ACE_TCHAR *[])
{
  int shared_buf[Q_SIZE];
  SafeUInt in = 0;
  SafeUInt out = 0;

  Producer producer (shared_buf, in, out);
  Consumer consumer (shared_buf, in, out);

  producer.activate();
  consumer.activate();
  producer.wait();
  consumer.wait();

  return 0;
}
Exemple #8
0
// Listing 1
// Listing 3 code/ch14
int ACE_TMAIN (int, ACE_TCHAR *[])
{
  ACE_Semaphore psem (5);
  ACE_Semaphore csem (0);

  Consumer consumer (psem, csem);
  Producer producer (psem, csem, consumer);

  producer.activate ();
  consumer.activate (THR_NEW_LWP | THR_JOINABLE,
                     Consumer::N_THREADS);

  producer.wait ();
  consumer.wait ();

  return 0;
}
Exemple #9
0
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    initaldatabase();//初始化数据库
    QSqlDatabase::removeDatabase("first");

    Producer producer;
    producer.start();

    SqlwriteThread_buffer *threadvector[THREADNUM];
    for(int i=0; i< THREADNUM; ++i)
    {
        threadvector[i] = new SqlwriteThread_buffer("localhost","whztest","root","infonet313",i);
//        threadvector[i]->SetRange(1024*10);
    }
    QTime t;
    t.start();
    for(int i=0; i< THREADNUM; ++i)
    {
        threadvector[i]->start();
    }
    QTime blankspace;
    blankspace.start();

    for(int i=0; i< THREADNUM; ++i)
    {
        qDebug()<<QObject::trUtf8("第 %1 个线程和第 %2 个线程之间等待耗时:%3 ms").arg(i).arg(i+1).arg(blankspace.elapsed());
        threadvector[i]->wait();
        blankspace.restart();
    }
    producer.wait();

    qDebug()<<QObject::trUtf8("插入 %1 条记录,耗时:%2 ms").arg(1024*100).arg(t.elapsed());
    exit(0);
    return a.exec();
}