Code: Alles auswählen
void MainWindow::timerEvent(QTimerEvent* event)
{
std::cout << "begin" << std::endl << std::flush;
doSomething();
std::cout << "end" << std::endl << std::flush;
}
Code: Alles auswählen
begin
begin
end
end
Danke.
Code: Alles auswählen
void MainWindow::timerEvent(QTimerEvent* event)
{
std::cout << "begin" << std::endl << std::flush;
doSomething();
std::cout << "end" << std::endl << std::flush;
}
Code: Alles auswählen
begin
begin
end
end
Code: Alles auswählen
begin 11:51:05:654
begin 11:51:05:654
end
end
Code: Alles auswählen
begin 11:51:08:169
end
begin 11:51:08:185
end
Dann laufen die dinger definitiv auch nicht parrallel ....QThread::currentThread() gibt allerdings immer den gleichen Wert aus
kann es sein, das bei einer bestimmten bedingung innerhalb des 1. triggers, die funktion nochmal aufgerufen wird ? was zu deinem 2. trigger mit identischen zeiten fuehrt .... Schau dir die aufrufliste beim debuggen mal genau an !Ich habe nun ein QMutex::lock am Anfang der Event-Funktion eingefügt, ein QMutex::unlock ans Ende eingefügt. Bei gleicher Triggerung: Deadlock! Bei 1 msec Unterschied zwischen den Triggerungen: OK!
Code: Alles auswählen
begin 529, 16:11:42:438
begin 528, 16:11:42:438
doSomething error: can not set xyz to 0! error code -16397: "???"
end 528
end 529
Hm. Unter Entkoppelung stelle ich mir zuerst eine Trennung in zwei Prozesse vor, die dann über Sockets, Pipes oder OS-Nachrichten kommunizieren. Das würd sicher funzen. Mit QProcess könnt ich mal was versuchen...Also bevor ich mit multithreading da anfange, wuerd ich versuchen das lieber zu entkoppeln ...