限时等待某一任务完成示例
2014-08-06 17:03
246 查看
<pre name="code" class="csharp"> /// <summary> /// 获取客户端 1.5s 超时 /// </summary> /// <param name="index"></param> /// <returns></returns> private IRedisClient GetClientByTimeOut(int index, bool throwException = false) { if (_redisClients == null || index < 0 || index >= _redisClients.Length) { return null; } var cm = _redisClients[index]; if (cm == null) { return null; } int timeout = 1500;//超时ms var t = System.Threading.Tasks.Task.Factory.StartNew((c) => { var prcm=((PooledRedisClientManager)c); var cc= prcm.GetClient(); return cc; }, cm); bool right = t.Wait(timeout); if (right) return t.Result; if (throwException) { string info = string.Format("无法获取第{0}个Redis客户端,可能该Redis实例已挂掉。", index); throw new Exception(info); } //logger.Info(info); return null; }
相关文章推荐
- iOS 如何巧妙解决“一个任务需要等待另外一个任务完成后才可以执行”的问题
- 用map函数来完成Python并行任务的简单示例
- 等待一个或多个任务完成--NET并行
- 用map函数来完成Python并行任务的简单示例
- c# 关于启动一个等待MASK窗体盖住主窗体,任务完成后,关掉MASK窗体的总结
- 使用NSRunloop等待异步任务完成
- 主线程等待线程池所有任务完成
- 主线程等待线程池所有任务完成
- Django中使用celery完成异步任务的示例代码
- 等待几个异步任务都完成后在执行其他的操作
- 等待所有或任意异步任务完成,以及异步任务完成时的处理方案
- java selenium智能等待页面加载完成示例代码
- 多线程应用 任务执行 等待所有任务完成一起处理
- 如何等待java线程池中所有任务完成
- 黄聪:V2010中C#实现友好的等待任务完成时,出现的多线程悬浮窗体
- 使用NSRunloop等待异步任务完成
- c++11,线程池之二--有等待线程池中任务完成功能的线程池
- 使用NSRunloop等待异步任务完成
- Java主线程等待线程池所有任务完成--线程池的封装
- GCD多线程之多任务并发等待所有任务完成