相关疑难解决方法(0)

实现C#通用超时

我正在寻找实现通用方法的好主意,让一行(或匿名委托)代码执行超时.

TemperamentalClass tc = new TemperamentalClass();
tc.DoSomething();  // normally runs in 30 sec.  Want to error at 1 min
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个可以在我的代码与气质代码交互的许多地方(我无法改变)优雅地实现的解决方案.

另外,如果可能的话,我想让违规的"超时"代码停止执行.

c# multithreading asynchronous timeout c#-3.0

157
推荐指数
6
解决办法
7万
查看次数

在c#中实现超时

我是c#的新手; 我主要做了Java.

我想实现一个超时的东西:

int now= Time.now();
while(true)
{
  tryMethod();
  if(now > now+5000) throw new TimeoutException();
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在C#中实现它?谢谢!

c# timeout

14
推荐指数
3
解决办法
8万
查看次数

c#中的线程超时

我是C#新线程的新手.有没有为线程设置超时而不阻塞调用线程(在C#3.5中)?

如果没有,使用线程执行函数是否合乎逻辑,并且在该函数内创建一个线程并加入它来克服这个主线程阻塞问题?为了显示:

代替:

Public void main()
{
        ...
        Thread thrd1 = new Thread(new ThreadStart(targetObj.targetFunc));
        thrd1.Start();
        thrd1.Join();
        ...
}
Run Code Online (Sandbox Code Playgroud)

使用类似的东西:

Public void main()
{
        ...
        Thread thrd1 = new Thread(new ThreadStart(middleObj.waiter));
        thrd1.Start();
        ...
}

//And in the middleObj.waiter():
Public void waiter()
{
        Thread thrd2 = new Thread(new ThreadStart(targetObj.targetFunc));
        thrd2.Start();
        thrd2.Join();
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×3

multithreading ×2

timeout ×2

asynchronous ×1

c#-3.0 ×1