我正在编写超级令人敬畏的软件,在这里我将创建一个新的线程每一分钟。此线程将在远程数据库服务器和end上存储一些数据。创建新线程时,资源(内存.)分配给那个线程。如果我没有在某个时候正确地释放这些资源,我就会有问题。
存储数据的线程有时会意外结束,这是一个错误,因为远程服务器是不可访问的。这不是一个问题,线程将结束,数据将在下一分钟与下一分钟的数据一起存储。
因此,我的问题是: python线程是否按预期的方式释放它们在结束时使用的所有资源?当它们因错误而结束时,它们是否释放所有资源?
发布于 2014-08-19 21:22:36
Python线程(相对于多处理进程)使用相同的内存块。如果线程向直接或间接从主线程或其他工作人员(例如共享字典或列表)引用的数据结构添加了某些内容,则当线程死亡时,该数据不会被删除。因此,基本上,只要线程写入内存的唯一数据是由线程目标函数作用域或以下的变量引用的,那么下次gc在线程退出后运行时,应该清除资源。
https://stackoverflow.com/questions/25393067
复制相似问题