如何在线程化时中断PythonI/O操作?
例如,
with open("foo") as f:
f.read()
(但它可能是文件写入、DNS 查找、任意数量的其他 I/O 操作。)
如果我在读取 (SIGINT) 时中断该程序,则 I/O 操作将停止并被KeyboardInterrupt抛出,并且终结器会运行。
但是,如果这发生在主线程以外的线程上,则 I/O 操作不会中断。
那么...如何中断另一个线程上的 I/O 操作(类似于它在主线程上的中断方式)?
例如,
with open("foo") as f:
f.read()
(但它可能是文件写入、DNS 查找、任意数量的其他 I/O 操作。)
如果我在读取 (SIGINT) 时中断该程序,则 I/O 操作将停止并被KeyboardInterrupt抛出,并且终结器会运行。
但是,如果这发生在主线程以外的线程上,则 I/O 操作不会中断。
那么...如何中断另一个线程上的 I/O 操作(类似于它在主线程上的中断方式)?