private static void ThreadedPutNew(SkipListNew skipList) { var job = _job; while (job.TryDequeue(out var value)) { skipList.Put(value, value); } }
public async Task MultiThreadedNew() { using var simpleAllocator = new NativeAllocator(1024 * 1024 * 5, TableHeight); var skipList = new SkipListNew(simpleAllocator); var tasks = new Task[Environment.ProcessorCount]; for (var i = 0; i < tasks.Length; i++) { tasks[i] = Task.Run(() => ThreadedPutNew(skipList)); } await Task.WhenAll(tasks); }