c# 超时处理
一:https://www.cnblogs.com/dayang12525/p/10247537.html
private static bool ImportTaskTimeout(Action method, int hours)
{
try
{
var task = Task.Run(() => method());
if (task.Wait(TimeSpan.FromHours(hours)))
return task.IsCompleted;
else
return false;
}
catch
{
return false;
}
}
static void Main(string[] args)
{
Task t = Task.Run(() => {
Random rnd = new Random();
long sum = 0;
int n = 5000000;
for (int ctr = 1; ctr <= n; ctr++)
{
int number = rnd.Next(0, 101);
sum += number;
Console.WriteLine("ctr: {0:N0}", ctr);
}
});
TimeSpan ts = TimeSpan.FromMilliseconds(150);
if (!t.Wait(ts))
Console.WriteLine("The timeout interval elapsed.");
}
二、
Task.Factory.StartNew(() =>
{
//方法/函数/事件
//while (true)
//{
//Thread.Sleep(100);
//string msg = richTextRecv.Text.ToString().Replace("\n", " ");
//if (msg.Contains("succeed"))
//{
//richTextRecv.Text = "";
//break;
//}
//}
}).Wait(1000);
浙公网安备 33010602011771号