C# 如何在多线程中使用 MemoryStream

标签 c# multithreading memorystream

我当前的代码是:

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/

相关文章:

c# - 流利的 NHibernate : Issue with many-to-many relationship with custom intermediary table

c# - 最小化 LINQ 字符串 token 计数器

c - 如何在终止线程之前将线程数据复制到数组?

java.lang.NoClassDefFoundError 仅在特定条件下

c# - 使用内存流从 URL 读取 Excel

.net - MemoryStream 使用导致内存不足异常

C#更新图片框中的位图

c# - 我的 .Net Core 库应该面向哪个 .Net 框架?

c++ - 对 std::vector 元素的赋值是线程安全的吗?

c# - 将字符串转换为内存流 - 内存流不可扩展?