是的,共享库只会被序列化一次(pickle协议甚至可以处理循环引用)。
从文档中:
该
pickle模块跟踪已序列化的对象,因此以后对同一对象的引用将不会再次序列化。marshal不这样做。这对递归对象和对象共享都有影响。递归对象是包含对其自身的引用的对象。这些不是由处理的
marshal,实际上,尝试封送递归对象将使您的Python解释器崩溃。当要序列化的对象层次结构中的不同位置存在对同一对象的多个引用时,就会发生对象共享。pickle
仅将此类对象存储一次,并确保所有其他引用都指向主副本。共享的对象保持共享状态,这对于可变对象非常重要。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)