C# как я могу заставить эту функцию работать параллельно ?
C# как я могу заставить эту функцию работать параллельно, используя больше потоков или процессорных ядер, чтобы быть быстрее?
<pre> public void ReadAOB(string Scancode) { if ((int)processhandle > 0) { IntPtr bytesRead = IntPtr.Zero; long MaxAddress = 0; if(isbit64) MaxAddress = 0x7fffffffffffffff; else MaxAddress = 0x7fffffff; long address = 0; addresses.Clear(); do { MEMORY_BASIC_INFORMATION m; int result = VirtualQueryEx(processhandle, (IntPtr)address, out m, (uint)Marshal.SizeOf(typeof(MEMORY_BASIC_INFORMATION))); if (m.Protect == AllocationProtectEnum.PAGE_READWRITE) { byte[] buffer = new byte[(int)m.RegionSize]; // IntPtr buffer = IntPtr.Zero; ReadProcessMemory(processhandle, m.BaseAddress, buffer, (int)m.RegionSize, out bytesRead); BoyerAlgo(m.BaseAddress, buffer, Scancode, ref addresses); } if (address == (long)m.BaseAddress + (long)m.RegionSize) break; address = (long)m.BaseAddress + (long)m.RegionSize; } while (address <= MaxAddress); } }
Что я уже пробовал:
Это работает, но когда он переходит к сканированию памяти, требуется много времени, чтобы закончить.