void CreateFiber([NotNull] Process process)
        {
            var fiber = new Fiber(process.Run, this);

            Info($"Secondary fiber: {fiber.Id}, priority: {process.Priority}");
            FibersMap.Add(process, fiber);
            Queues[process.Priority].Enqueue(process);
        }
        public void Dispose()
        {
            if (disposed)
            {
                return;
            }

            Queues.ForEach(Kill);
            FinishedProcesses.ForEach(Kill);
            FibersMap.Clear();
            disposed = true;
        }