[英]how fast can c++ loop constantly check variable
我正在使用繁忙的循環來檢查條件何時為真並拍照,但是當條件為真時以及我的循環檢測到它時,我需要少於 10 毫秒的延遲。 這個循環可行嗎?
這是在緩慢的樹莓派零上運行的。
for (;;) {
for (pin = 0; pin < 8; ++pin) {
// Some other thread changed counter, gets detected here
if (globalCounter[pin] != myCounter[pin]) {
//Take picture
}
}
}
我希望采用的完整代碼:https://github.com/WiringPi/WiringPi/blob/master/examples/isr.c
代碼延遲,特別是那些依賴於硬件的延遲,應結合代碼的 rest 和目標環境進行測試。
我相信,如果沒有在物理系統中實際運行測試,並且一切都已實現,就不可能給出“是/否”的答案。
我唯一的建議是繁忙的循環通常會浪費資源並且難以維護,並且通常可以通過僅在設置硬件標志或目標變量在代碼中更改時觸發所需行為來避免。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.