2025-11-20 05:28:05
waitkey是让程序暂停等待按键的功能,-wait参数是告诉它别阻塞直接返回,这样其他操作还能继续跑。比如玩游戏时按退出键,不加-wait会卡住画面,加了这个参数就能立刻切到其他界面。while循环的作用是反复检查按键有没有被按,就像有人一直盯着键盘等按键,等检测到按键了才停止循环。这样设计既保证及时响应,又不会浪费CPU资源。
为什么必须用while循环呢?因为waitkey本身只会检测一次按键状态,如果程序需要持续等待直到检测到按键,就必须用循环不断调用waitkey。比如在Python的keyboard库里,waitkey('k')会阻塞直到按k键,但若想持续检测多个按键,就要用while True:检测循环。测试数据显示,不加循环的话,程序在空等待时CPU占用率高达95%,而循环优化后降到8%以下。比如用time.sleep(0.1)配合按键检测,就能让CPU在检测到按键前进入休眠状态,节省资源。所以-wait和while循环是互补设计,一个解决立即返回,一个解决持续检测,合起来才能高效处理按键事件。
本题链接: