void MyThread::run() { isRunning = true; qDebug() << "From worker thread: " << currentThreadId(); int i; while(1) { qDebug() << "From worker thread: " << currentThreadId() << ":" << i++; QMutexLocker locker(&m_mutex); if (!isRunning) { break; } msleep(10); } }
void MyThread::run() { QString x; const int end = m_base + 20; for (int i = m_base; i < end; i++) { qDebug() << "L" << currentThreadId() << i << '/' << end; QThread::msleep(100); if (i < 10) { x += QString::number(i); qDebug() << "lt 10"; x += ','; } } qDebug() << "Terminating" << currentThreadId(); }
void qtCPU_thread::cpu_run() { qDebug() << "CPU is running at thread" << currentThreadId(); QMutexLocker locker(&mutex); stop_flag = false; run_condition.wakeOne(); }
void mmthread::stop(){ qDebug()<<"Thread::stop called from main thread: "<<currentThreadId(); QMutexLocker locker(&m_mutex); m_stop=true; }
void CRTDBSharedMemoryThread::run() { qDebug()<<"m_libname ="<<m_LibName<<currentThreadId(); mylib.setFileName(m_LibName);//文件名 if (mylib.load()) { qDebug()<<"DLL load is OK!"<<m_LibName; typedef CRTDBSharedMemoryLibI * (DLLAPI_CreateDriver)(QObject *parent);//初始化协议 DLLAPI_CreateDriver *pCreateDriver = (DLLAPI_CreateDriver *)mylib.resolve("CreateDriver");//获取 用于获取类对象的全局函数 if (pCreateDriver) { qDebug()<<"Link to Function is OK!"<<m_LibName; m_pRTDBSharedMemoryLibI = pCreateDriver(NULL);///< 库中导出类的初始化 if (m_pRTDBSharedMemoryLibI->Create(m_pRTDB,QString())) { }else { qDebug()<<"Create Function Return false."<<m_LibName; } }else //ShowMessageSignal { qDebug() << mylib.errorString(); qDebug()<<"Linke to Function is not OK!!!!"<<m_LibName; } }else { qDebug()<<"DLL is not loaded!"<<m_LibName; } exec();///< 线程中使用定时器时需要加上此行 }
void qtCPU_thread::keyboard_irq(const byte val) { qDebug() << "Keyboard interupt happened at thread" << currentThreadId(); QMutexLocker locker(&mutex); have_irq = true; irq_key_value = val; }
void PlayThread::run() { #ifdef MESSAGE_ON cout << "start to play" << endl; cout << "@player.run(): " << currentThreadId() << endl; #endif play(); }
ULONG currentThreadId(CIDebugClient *client) { IInterfacePointer<IDebugSystemObjects> sysObjects(client); if (sysObjects) return currentThreadId(sysObjects.data()); return 0; }
void PlayThread::play(){ #ifdef MESSAGE_ON cout << "@player.play(): " << currentThreadId() << endl; #endif timer_ptr->start(1000 / *fps); state_t = PLAYING; status = QString::fromStdString("Playing"); }
MonitorItemThread::MonitorItemThread(QObject* parent) : QThread(parent) , monitor(NULL) , refreshTimer(new QTimer(this)) , isRefreshing(false) { threadId = currentThreadId(); refreshTimer->setObjectName("RefreshTimer"); QMetaObject::connectSlotsByName(this); }
LogRecord::LogRecord(const SourceFile& src, int srcline, LogLevel lv,bool abortThen) :file(src), line(srcline), tid(currentThreadId()), time(Timestamp::now()), lvl(lv), abortLater(abortThen) { // }
void LaserScanner::run() { mTimerScan = new QTimer; mTimerScan->setInterval(0); connect(mTimerScan, SIGNAL(timeout()), SLOT(slotDoScan())); if(!mSimulator->isPaused()) mTimerScan->start(); qDebug() << "LaserScanner::run(): starting LaserScanner eventloop in threadid" << currentThreadId(); exec(); qDebug() << "LaserScanner::run(): eventloop finished in threadid" << currentThreadId(); }
void Thread::run() { qDebug()<<"run in thread id is"<<currentThreadId(); // emit threadSig(); // exec(); // sleep(1); SimArm mysim =SimArm(); mysim.draw(); }
Thread::~Thread() { Log::debug("clc.thread", "Thread \"%s\" destructor", m_name.c_str()); if (currentThreadId() == m_thread) { ASSERT(m_flags & DAEMON); // Only time you should delete yourself is if you're a daemon } else { ASSERT(! (m_flags & DAEMON)); if (m_state != JOINED) { interrupt(); join(); } } }
void RestfulApi::run() { qDebug()<<"Webserver API running in a process thread: " << currentThreadId(); // Create and configure the server server = mg_create_server(NULL, ev_handler); mg_set_option(server, "listening_port", "38000"); mg_set_option(server, "document_root", "."); qDebug() << "Society Pro Web API. by Central Services. Listening at port 38000..."; for (;;) { mg_poll_server(server, 1000); } }
void PlayThread::imageUpdate() { #ifdef MESSAGE_ON cout << "@player.imageUpdate(): " << currentThreadId() << endl; #endif mutex.lock(); if(imgBuffer->length() - frame_pos <= 0) { stop_play(); state_t = BUFFERING; status = QString::fromStdString("Buffering"); // ui->label_status->setText(QString::fromStdString("Buffering")); #ifdef MESSAGE_ON cout << "video buffering" << endl; #endif } else if(!imgBuffer->isEmpty()){ imgLabel->setPixmap(QPixmap::fromImage(imgBuffer->at(frame_pos))); switch(label_t){ case ORIGINAL: dbgLabel->setPixmap(QPixmap::fromImage(imgBuffer->at(frame_pos))); break; case GREYSCALE: dbgLabel->setPixmap(QPixmap::fromImage(gryBuffer->at(frame_pos))); break; case BACKGROUND: dbgLabel->setPixmap(QPixmap::fromImage(backBuffer->at(frame_pos))); break; case FOREGROUND: dbgLabel->setPixmap(QPixmap::fromImage(dbgBuffer->at(frame_pos))); break; default: break; } // imgBuffer->removeFirst(); // dbgBuffer->removeFirst(); } else{ status = QString::fromStdString("Buffering"); #ifdef MESSAGE_ON cout << "image buffer empty" << endl; #endif } #ifdef MESSAGE_ON time_t now = time(NULL); cout << now%60 << ": [" << *fps << "]" << "<" << played_frame_cnt++ << ", ("; cout << imgBuffer->length() << ", " << dbgBuffer->length() << "), " << imgBuffer->length() - frame_pos << ">" << endl; #endif frame_pos++; mutex.unlock(); }
// Complete stop parameters with common parameters and report static inline ExtensionContext::StopReasonMap completeStopReasons(CIDebugClient *client, ExtensionContext::StopReasonMap stopReasons, ULONG ex) { typedef ExtensionContext::StopReasonMap::value_type StopReasonMapValue; stopReasons.insert(StopReasonMapValue(std::string("executionStatus"), toString(ex))); if (const ULONG processId = currentProcessId(client)) stopReasons.insert(StopReasonMapValue(std::string("processId"), toString(processId))); const ULONG threadId = currentThreadId(client); stopReasons.insert(StopReasonMapValue(std::string("threadId"), toString(threadId))); // Any reason? const std::string reasonKey = std::string(ExtensionContext::stopReasonKeyC); if (stopReasons.find(reasonKey) == stopReasons.end()) stopReasons.insert(StopReasonMapValue(reasonKey, "unknown")); return stopReasons; }
void Thread::join() { Log::debug("clc.thread", "Thread \"%s\" join", m_name.c_str()); ASSERT(currentThreadId() != m_thread); // Can't join yourself ASSERT(! (m_flags & DAEMON)); // Can't join daemon, by definition m_stateChange.lock(); if (m_state != JOINED) { while (m_state == STARTING) m_stateChange.wait(); while (m_state == RUNNING) m_stateChange.wait(); ASSERT(m_state == STOPPED); status_t threadReturn; thread_join(m_thread, threadReturn); m_flags &= ~INTERRUPTED; m_state = JOINED; Log::debug("clc.thread", "Thread \"%s\" is joined", m_name.c_str()); m_thread = 0; } m_stateChange.unlock(); }
///======================================DATA ACCESS THREAD MANAGEMENT =========================================== //protected method that start the Data Access services into a separate thread void DataAccessService::run() { quitting=false; qDebug()<<"Data Access process thread: " << currentThreadId(); // Check if the xmpp Sever is available ConnectionError ce = gloox::ConnNoError; //TODO: Store the default identity (or the last used) to be used in the next line: //user //path //password // using SQLlite database std::string strXmppLoginResult = xmpp_Login("societas","123456789"); // TODO: Implement a util library that output the log qDebug() << "To Log: " << QString::fromStdString(strXmppLoginResult); // Here the thread continue starting, but if the connection can´t be established // the bussiness logic will be notified that the connection can´t be established // and handle following its rules. time_t current_timer_X = 0, last_timer_X = time(NULL); // infinite loop to receive xmpp events and messages forever { current_timer_X = time(NULL); if (current_timer_X - last_timer_X > 0) { last_timer_X = current_timer_X; // xmpp Client receiving events ce = p_xmppClient->receiveXmppMessages(); } if (quitting) break; }//forever }
void qtCPU_thread::run() { qDebug() << currentThreadId(); if (loaded_flag) { forever { /* * check whether it needs to stop */ { QMutexLocker locker(&mutex); if (stop_flag) run_condition.wait(&mutex); } /* * cpu run once */ { QMutexLocker locker(&mutex); if (!cpu->pc_increment(0)) break; } /* * check whether there is keyboard_irq */ { QMutexLocker locker(&mutex); if (have_irq) { have_irq = false; cpu->set_keyboard_irq(irq_key_value); } } } } }
DirCleaner::DirCleaner( const QStringList& dirs ) : KueueThread() { qDebug() << "[DIRCLEANER] Constructing" << currentThreadId(); mDirs = dirs; }
void qtCPU_thread::cpu_stop() { qDebug() << "CPU stoppd at thread" << currentThreadId(); QMutexLocker locker(&mutex); stop_flag = true; }
void PlayThread::imageUpdate() { #ifdef MESSAGE_ON cout << "@player.imageUpdate(): " << currentThreadId() << endl; #endif mutex.lock(); if(imgBuffer->size() - frame_pos <= 0) { stop_play(); state_t = BUFFERING; status = QString::fromStdString("Buffering"); // ui->label_status->setText(QString::fromStdString("Buffering")); #ifdef MESSAGE_ON cout << "video buffering" << endl; #endif } else if(!imgBuffer->empty()){ list<QImage>::iterator i_itr, c_itr, g_itr, b_itr, d_itr; i_itr = imgBuffer->begin(); c_itr = clrBuffer->begin(); g_itr = gryBuffer->begin(); b_itr = backBuffer->begin(); d_itr = dbgBuffer->begin(); advance(i_itr, frame_pos); advance(c_itr, frame_pos); advance(g_itr, frame_pos); advance(b_itr, frame_pos); advance(d_itr, frame_pos); imgLabel->setPixmap(QPixmap::fromImage(*i_itr)); if((*i_itr).isNull()){ cerr << "empty image @" << frame_pos << endl; frame_pos++; mutex.unlock(); return; } switch(label_t){ case ORIGINAL: dbgLabel->setPixmap(QPixmap::fromImage(*i_itr)); break; case COLOR: dbgLabel->setPixmap(QPixmap::fromImage(*c_itr)); break; case GREYSCALE: dbgLabel->setPixmap(QPixmap::fromImage(*g_itr)); break; case BACKGROUND: dbgLabel->setPixmap(QPixmap::fromImage(*b_itr)); break; case FOREGROUND: dbgLabel->setPixmap(QPixmap::fromImage(*d_itr)); break; default: break; } } else { status = QString::fromStdString("Buffering"); #ifdef MESSAGE_ON cout << "image buffer empty" << endl; #endif } #ifdef MESSAGE_ON time_t now = time(NULL); cout << now%60 << ": [" << *fps << "]" << "<" << played_frame_cnt++ << ", ("; cout << imgBuffer->length() << ", " << dbgBuffer->length() << "), " << imgBuffer->length() - frame_pos << ">" << endl; #endif frame_pos++; mutex.unlock(); }
ThreadCommon::~ThreadCommon() { threadCount--; this->wait(); qDebug()<<"[INFO ] ["<<__FILE__<<":"<<__LINE__<<"]: "<< "excute ~WorkThread()" <<currentThreadId() ; }
void LaserScanner::slotStart(void) { qDebug() << "LaserScanner::slotStart(): starting scanner timer in thread" << currentThreadId(); mTimerScan->start(); }
void run() { qDebug() << "Done" << currentThreadId(); }
void ThreadToSend::recSigFromDialog() { qDebug()<<"rec sig from dialog"<<"current thread id is"<<currentThreadId(); }
void Thread::sleep(unsigned int ms) { ASSERT(currentThreadId() == m_thread); // Can only make yourself sleep thread_usleep(ms*1000); }