在StackOverflow上解压缩嵌入式资源has been already discussed的方法。遗憾的是,提供的解决方案不适用于可能同时从多个进程执行的库,这可能导致解压缩资源损坏或一些虚假异常。
我正在寻找一种以安全的方式解压缩嵌入式资源的方法,我的意思是:
不会创建不必要的文件副本。如果它是同一个文件,它应该在同一个位置。
该文件的多个版本可以在文件系统中共存。
解压缩后,文件将至少与解压缩文件的过程一样长,并且所有读取文件的尝试都将成功。
有多少进程同时执行解包过程并不重要。结果总是一样。
如果解包在一个进程中被中断,其他进程(并发或顺序执行)将能够透明地恢复。