[問題] 兩個以上的QTimer問題

作者: checkIO (chec)   2016-10-28 13:56:22
開發平台(Platform): (Ex: Win10, Linux, ...)
vs2015
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
qt 5.7
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
我有一個timer1 是要每10秒對 myFile.csv寫入資料
timer2 要每分鐘把 myFile.csv -> myFile.zip
請問我要怎樣再確認timer1已經對csv寫入完成後(總是有可能重疊到!?)
再使用timer2將他打包成zip呢?
作者: uranusjr (←這人是超級笨蛋)   2016-10-28 13:59:00
常見的 async programming 問題, 從架構上就錯了
作者: Ebergies (火神)   2016-10-28 14:07:00
這好像是我會做的事... 怎麼樣的架構更好呢?如果只是原問題的話,QTimer 一般使用的話會是同個thread所以不存在確認問題, 若是不同 thread, 看是要用 mutex或 flock 都可處理吧
作者: checkIO (chec)   2016-10-28 14:15:00
那請問要怎樣做會比較好呢 我沒用過thread...
作者: hichcock (快樂一整年 ^^~~~)   2016-10-28 14:17:00
timer1 10秒一次, timer2 60秒一次那幹麻用到兩個 timer, 一個就好了阿timer1 執行 6 次後做 timer2 的事情連同步都省了
作者: Ebergies (火神)   2016-10-28 18:14:00
樓上突破盲點 XDD
作者: CodingMan (程式俠)   2016-10-28 22:52:00
應該是每五次?
作者: pttworld (批踢踢世界)   2016-10-28 23:14:00
問自己打包是否一定發生在寫完後得解。
作者: Schottky (順風相送)   2016-10-29 02:21:00
寫入 .csv 也許是預防當機要經常存檔還說得通每分鐘壓縮一次 .zip 是為什麼... 你有沒有想過這個問題

Links booklink

Contact Us: admin [ a t ] ucptt.com