我创建了一个程序,它大量使用 C# 套接字和非托管 C++ DLL,几乎没有像这个这样的有用功能。
[DllImport(DLLName, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
[return: MarshalAs(UnmanagedType.LPStr)]
private static extern void calcData(float ask, float bid, float volume, float lastTrade, string symbolName, TQuoteType type, IntPtr str, out int size);
我正在使用具有 8-10 个线程的 C# 多线程,每个线程每 200 毫秒通过套接字发送数据。
程序在 Windows 7 和 Windows Server 2008 上运行良好,但在 XP 和 Windows Server 2003 上运行2 天后出现内存不足系统异常。我无法理解发生了什么,因为 RAM 的最大使用量为 17mb。谁能帮我解决这个问题?