<PackageReference Include="SSH.NET" Version="2024.0.0" />

ThreadAbstraction

static class ThreadAbstraction
using System; using System.Threading; using System.Threading.Tasks; namespace Renci.SshNet.Abstractions { internal static class ThreadAbstraction { public static void Sleep(int millisecondsTimeout) { Thread.Sleep(millisecondsTimeout); } public static Task ExecuteThreadLongRunning(Action action) { if (action == null) throw new ArgumentNullException("action"); return Task.Factory.StartNew(action, CancellationToken.None, TaskCreationOptions.LongRunning, TaskScheduler.Current); } public static void ExecuteThread(Action action) { if (action == null) throw new ArgumentNullException("action"); ThreadPool.QueueUserWorkItem(delegate { action(); }); } } }