私は自分のプログラムでタイマーを使用しています:
timer = new Qtimer(); connect(timer, SIGNAL(timeout()), this, SLOT(readData()));
timer.start(1000);
そして、UIの相互作用によってトリガーされる可能性のある他のスロットもあります:
/*SLOT FUNCTION*/ on_pushbutton_triggered(){..../*write data*/...}
。
(コードはqtで書かれていますが、よくある質問だと思います)
だから私は潜在的な問題について心配しています:on_pushbutton_triggereed()がデータを書き込んでいる間にreadData()が間違ったデータを読み取る可能性がありますか?
私はタイマーが実際に画面の後ろでどのように機能するかについてあまりよく知りません:それは私のプログラムと同じスレッドにありますか?
readData()とon_pushbutton_triggereed()が呼び出され、実行され、シリアルに終了し、ミューテックスの問題は発生しません(つまり、lock()とunlock()を使用する必要があります)? 読んでくれてありがとう!私はあなたのヒントを本当に望んでいます!