信号处理程序完全需要在UNIX编程中进行特殊处理。只有已定义的POSIX C函数列表被声明为可重入的,并且可以在POSIX信号处理程序中调用。IEEE
Std
1003.1列出了在https://www.opengroup.org/上找到的118个可重入UNIX函数(需要登录)。
但是Python信号是异步的:signal模块有一个说明:
尽管就Python用户而言,Python信号处理程序是异步调用的,但它们只能出现在Python解释器的“原子”指令之间。这意味着纯粹在C语言中执行的长计算期间到达的信号(例如,大文本正文中的正则表达式匹配)可能会延迟任意时间。
在这种情况下,Python中的信号会延迟到GIL 释放之前 。
回到您的问题。 不 ,只要您在信号处理功能中使用重入功能。如果仅在线程中使用日志记录,则不会有问题。



