【发布时间】:2011-05-09 12:06:12
【问题描述】:
我正在使用“7z.exe”在我的应用程序(c#)中做一些额外的工作。我在我的应用程序的主可执行文件中嵌入了“7z.exe”作为资源文件。在执行我的应用程序期间,我在硬盘上提取“7z.exe”并通过 Process.Start() 执行它。
我需要从多个线程多次执行“7z.exe”。 从多个线程访问相同的“7z.exe”文件是否安全?或者我应该为每个进程提取单独的“7z.exe”(到硬盘上的不同位置)。Start()
PS:7z.exe 属于 Seven-zip 软件,用 c/c++ 编写。
【问题讨论】:
-
除了 Jon 在下面的回答之外,将可执行文件作为资源嵌入到您的应用程序中,然后稍后提取它们几乎不是正确的方法。特别是,它可能会驱动病毒扫描程序。使用专为 C# 设计的 ZIP 库(如 SharpZipLib)是一个非常更好的选择。
标签: c# .net multithreading executable process.start