想创建一个触发式的py程序,但是如果用while循环扫描监听事件就会占用大量CPU,如果使用sleep进行等待减少CPU占用可能会错过这个事件。
所以有没有一种方式,当程序感兴趣的事件发生时,立刻触发程序,执行对应的操作,当没有程序感兴趣的事件发生时,程序以极低的资源占用的方式静默在系统中。
希望得到各位牛人的点拨,得到一个实现的思路,在百度上搜索到这种方式,可能是事件触发式编程,但是又没有找到准确的实现方式。
如果你的事件,需要程序判断, 那就建议搞2个线程, 一个主线程, 一个轮询线程, 轮询线程用sleep ,检测事件是否发生,如果发生, 就发消息给主线程处理。
如果你的事件,是标准的系统事件, 那就hook系统事件。
具体得看你要监听什么。可以根据不同的东西提出不同的方法的。