信号处理程序在UNIX编程中需要特殊处理.只有定义的POSIX C函数列表被声明为可重入,并且可以在POSIX信号处理程序中调用.IEEE Std 1003.1列出了您在https://www.opengroup.org/找到的118个可重入的UNIX函数(需要登录).
但Python信号是异步的:信号模块有一个澄清:
虽然就Python用户而言,Python信号处理程序是异步调用的,但它们只能出现在Python解释器的"原子"指令之间.这意味着在纯C中实现的长计算期间到达的信号(例如大文本上的正则表达式匹配)可能会延迟一段任意时间.
在这种情况下,Python中的信号被推迟,直到GIL 空闲.
回到你的问题.不,只要您在信号处理功能中使用重入功能.如果仅在线程中使用日志记录,则不会出现问题.
| 归档时间: |
|
| 查看次数: |
5177 次 |
| 最近记录: |