我当前的代码是:
public static byte[] ImageToByte(Image img)
{
byte[] byteArray = new byte[0];
using (MemoryStream stream = new MemoryStream())
{
img.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
stream.Close();
byteArray = stream.ToArray();
}
return byteArray;
}
有什么方法可以让它在多线程下工作,或者使用我 CPU 的每个核心 让它更快?
最佳答案
如果您要将多个图像转换为字节数组并且预先知道它们,那么您可以使用 Parallel.ForEach 循环并在那里完成此操作,以便它们可以在不同的内核中完成(如果可用)。但我不认为修改这种单一方法以使用多核是值得的,并且可以节省任何时间。
关于C# 如何在多线程中使用 MemoryStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18852665/