From abe484b0dfd0a5df5753dd0a0679f94753af1dff Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Sun, 21 May 2023 16:29:57 +0800 Subject: [PATCH] use Task.Delay instead of Thread.Sleep --- v2rayN/v2rayN/Handler/MainFormHandler.cs | 14 ++++----- v2rayN/v2rayN/Handler/ProfileExHandler.cs | 4 +-- v2rayN/v2rayN/Handler/SpeedtestHandler.cs | 33 +++++++++++----------- v2rayN/v2rayN/Handler/StatisticsSingbox.cs | 4 +-- v2rayN/v2rayN/Handler/StatisticsV2ray.cs | 2 +- v2rayN/v2rayN/Handler/UpdateHandle.cs | 1 + 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/v2rayN/v2rayN/Handler/MainFormHandler.cs b/v2rayN/v2rayN/Handler/MainFormHandler.cs index 4390a6a9..e3e9ae8f 100644 --- a/v2rayN/v2rayN/Handler/MainFormHandler.cs +++ b/v2rayN/v2rayN/Handler/MainFormHandler.cs @@ -160,9 +160,9 @@ namespace v2rayN.Handler Task.Run(() => UpdateTaskRunGeo(config, update)); } - private void UpdateTaskRunSubscription(Config config, Action update) + private async Task UpdateTaskRunSubscription(Config config, Action update) { - Thread.Sleep(60000); + await Task.Delay(60000); Utils.SaveLog("UpdateTaskRunSubscription"); var updateHandle = new UpdateHandle(); @@ -185,17 +185,17 @@ namespace v2rayN.Handler item.updateTime = updateTime; ConfigHandler.AddSubItem(ref config, item); - Thread.Sleep(5000); + await Task.Delay(5000); } - Thread.Sleep(60000); + await Task.Delay(60000); } } - private void UpdateTaskRunGeo(Config config, Action update) + private async Task UpdateTaskRunGeo(Config config, Action update) { var autoUpdateGeoTime = DateTime.Now; - Thread.Sleep(1000 * 120); + await Task.Delay(1000 * 120); Utils.SaveLog("UpdateTaskRunGeo"); var updateHandle = new UpdateHandle(); @@ -214,7 +214,7 @@ namespace v2rayN.Handler } } - Thread.Sleep(1000 * 3600); + await Task.Delay(1000 * 3600); } } diff --git a/v2rayN/v2rayN/Handler/ProfileExHandler.cs b/v2rayN/v2rayN/Handler/ProfileExHandler.cs index 5c621f80..421b2c7f 100644 --- a/v2rayN/v2rayN/Handler/ProfileExHandler.cs +++ b/v2rayN/v2rayN/Handler/ProfileExHandler.cs @@ -24,7 +24,7 @@ namespace v2rayN.Handler _lstProfileEx = new(SqliteHelper.Instance.Table()); - Task.Run(() => + Task.Run(async () => { while (true) { @@ -38,7 +38,7 @@ namespace v2rayN.Handler SqliteHelper.Instance.Replace(item); } } - Thread.Sleep(1000 * 60); + await Task.Delay(1000 * 60); } }); } diff --git a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs index f177ae7a..bb1d3b66 100644 --- a/v2rayN/v2rayN/Handler/SpeedtestHandler.cs +++ b/v2rayN/v2rayN/Handler/SpeedtestHandler.cs @@ -95,7 +95,7 @@ namespace v2rayN.Handler } } - private void RunPingSub(Action updateFun) + private async Task RunPingSubAsync(Action updateFun) { try { @@ -111,7 +111,7 @@ namespace v2rayN.Handler } } - Thread.Sleep(10); + await Task.Delay(10); } catch (Exception ex) { @@ -119,21 +119,21 @@ namespace v2rayN.Handler } } - private void RunPing() + private async void RunPing() { - RunPingSub((ServerTestItem it) => - { - long time = Ping(it.address); - var output = FormatOut(time, Global.DelayUnit); + await RunPingSubAsync((ServerTestItem it) => + { + long time = Ping(it.address); + var output = FormatOut(time, Global.DelayUnit); - ProfileExHandler.Instance.SetTestDelay(it.indexId, output); - UpdateFunc(it.indexId, output); - }); + ProfileExHandler.Instance.SetTestDelay(it.indexId, output); + UpdateFunc(it.indexId, output); + }); } - private void RunTcping() + private async void RunTcping() { - RunPingSub((ServerTestItem it) => + await RunPingSubAsync((ServerTestItem it) => { int time = GetTcpingTime(it.address, it.port); var output = FormatOut(time, Global.DelayUnit); @@ -158,7 +158,7 @@ namespace v2rayN.Handler } DownloadHandle downloadHandle = new DownloadHandle(); - //Thread.Sleep(5000); + List tasks = new(); foreach (var it in _selecteds) { @@ -187,7 +187,6 @@ namespace v2rayN.Handler Utils.SaveLog(ex.Message, ex); } })); - //Thread.Sleep(100); } Task.WaitAll(tasks.ToArray()); } @@ -312,10 +311,10 @@ namespace v2rayN.Handler } UpdateFunc(it.indexId, "", msg); }); - Thread.Sleep(2000); + await Task.Delay(2000); } - Thread.Sleep((timeout + 2) * 1000); + await Task.Delay((timeout + 2) * 1000); if (pid > 0) { @@ -329,7 +328,7 @@ namespace v2rayN.Handler { await RunRealPing(); - Thread.Sleep(1000); + await Task.Delay(1000); await RunSpeedTestMulti(); } diff --git a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs index 15fea2d9..b8c64c21 100644 --- a/v2rayN/v2rayN/Handler/StatisticsSingbox.cs +++ b/v2rayN/v2rayN/Handler/StatisticsSingbox.cs @@ -23,7 +23,7 @@ namespace v2rayN.Handler private async void Init() { - Thread.Sleep(5000); + await Task.Delay(5000); try { @@ -102,7 +102,7 @@ namespace v2rayN.Handler } finally { - Thread.Sleep(1000); + await Task.Delay(1000); } } } diff --git a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs index cc4a065b..f2a74af3 100644 --- a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs +++ b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs @@ -62,7 +62,7 @@ namespace v2rayN.Handler } } var sleep = _config.guiItem.statisticsFreshRate < 1 ? 1 : _config.guiItem.statisticsFreshRate; - Thread.Sleep(1000 * sleep); + await Task.Delay(1000 * sleep); await _channel.ConnectAsync(); } catch diff --git a/v2rayN/v2rayN/Handler/UpdateHandle.cs b/v2rayN/v2rayN/Handler/UpdateHandle.cs index b31b8912..77bfd91e 100644 --- a/v2rayN/v2rayN/Handler/UpdateHandle.cs +++ b/v2rayN/v2rayN/Handler/UpdateHandle.cs @@ -609,6 +609,7 @@ namespace v2rayN.Handler try { if (needStop) coreHandler?.CoreStop(); + Task.Delay(1000); string fileName = Utils.GetTempPath(Utils.GetDownloadFileName(url)); if (File.Exists(fileName)) {