TConcurrent Class

Header: #include <TConcurrent>

Static Public Members

QVariant runSync(std::function<QVariant() > func)
bool waitForSignal(QObject *iObj, const QString &iSignal, int iTimeoutMsec = 3000)

Detailed Description

Member Function Documentation

[static] QVariant TConcurrent::runSync(std::function<QVariant() > func)

在单独的线程中同步运行lambda表达式


  loading(ttr("Loading data."))
  QVariant ret = TConcurrent::runSync([this](){
    // query db
    TSqlQueryV2 sqlQuery(T_SQLCNT_POOL->getSqlDatabase());
    QVariant ret = sqlQuery.selectValue("select username from sys_user where id = 1");
    return ret;
  });
  unloading();

[static] bool TConcurrent::waitForSignal(QObject *iObj, const QString &iSignal, int iTimeoutMsec = 3000)

同步等待信号


  // C++
  bool ok = TConcurrent::waitForSignal(obj, "dataLoaded()", 4000);

  // JS
  var ok = TConcurrent.waitForSignal(obj, "dataLoaded()", 4000);