開發平台(Platform): (Ex: Win10, Linux, ...)
Linux/Win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
GCC
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
如下列網址的程式碼。
1.我建立一個thread,每50mS把目前的time_point作為timestamp儲存至
atomic型態的變數中。
2.在主thread中,持續觀測timestamp與現在時間的時間差。
餵入的資料(Input):
無
預期的正確結果(Expected Output):
每次觀測timestamp與現在時間的時間差不會大於50mS。
錯誤結果(Wrong Output):
偶發性的會出現大於50mS的時間差,其時間大於50mS幾十個mS。
如果要解釋為處理while loop中其他動作的時間,似乎又有點太長了。
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
https://onlinegdb.com/HypIjZKnL
補充說明(Supplement):
猜測問題可能是出自於我對std::atomic或是std::chrnon的誤用,但目前還沒有
找到明確的方向。
期望有經驗的人可以指點一下。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.132.26 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1591446865.A.E60.html
→
06/06 21:12,
4年前
, 1F
06/06 21:12, 1F
→
06/06 21:12,
4年前
, 2F
06/06 21:12, 2F
→
06/06 21:26,
4年前
, 3F
06/06 21:26, 3F
→
06/06 21:27,
4年前
, 4F
06/06 21:27, 4F
→
06/06 21:27,
4年前
, 5F
06/06 21:27, 5F
→
06/06 21:47,
4年前
, 6F
06/06 21:47, 6F
→
06/06 21:47,
4年前
, 7F
06/06 21:47, 7F
→
06/06 21:47,
4年前
, 8F
06/06 21:47, 8F
→
06/06 22:19,
4年前
, 9F
06/06 22:19, 9F
→
06/06 22:19,
4年前
, 10F
06/06 22:19, 10F
→
06/06 23:58,
4年前
, 11F
06/06 23:58, 11F
→
06/06 23:58,
4年前
, 12F
06/06 23:58, 12F
→
06/06 23:58,
4年前
, 13F
06/06 23:58, 13F
→
06/07 00:19,
4年前
, 14F
06/07 00:19, 14F
→
06/07 00:22,
4年前
, 15F
06/07 00:22, 15F
→
06/07 10:10,
4年前
, 16F
06/07 10:10, 16F
→
06/07 10:10,
4年前
, 17F
06/07 10:10, 17F
→
06/07 10:24,
4年前
, 18F
06/07 10:24, 18F
→
06/07 12:57,
4年前
, 19F
06/07 12:57, 19F