1
class TransactionThread : public QThread
{
Q_OBJECT
public:
...
}
2
connect(&thread, SIGNAL(transactionStarted(const QString &)), //线程之间的信号-槽连接
statusBar(), SLOT(showMessage(const QString &)));
connect(&thread, SIGNAL(finished()),
this, SLOT(allTransactionsDone()));
3
void TransactionThread::addTransaction(Transaction *transact)
{
QMutexLocker locker(&mutex); //所有对transactions成员变量的访问都由一个互斥量保护起来
transactions.enqueue(transact);
if (!isRunning()) //如果事务线程还没有运行,就触发它
start();
}