Python指令计数

2 投票
1 回答
1645 浏览
提问于 2025-04-17 18:10

有没有办法让一个函数在每执行一条指令的时候都增加一个计数器,并在达到某个数字时执行特定的操作?

简单来说,我想要在一个函数执行的字节码指令超过一定数量时抛出一个异常。这样,如果有人写了一个会导致无限循环的列表推导式,或者写了一个无限的 while 循环,就可以提前强制中断它。

在 Python 中可以做到这一点吗?

1 个回答

1

我对此表示怀疑。通常,处理这种情况最可靠的方法是把不可信的代码放在一个单独的进程中,并做好安全隔离。

想象一下,如果不可信的代码占用了某个重要的资源(比如一个锁),然后因为运行时间太长被强制终止。那么,如果其他人想要获取那个锁,整个进程就会出现死锁的情况。

撰写回答