RavenDb中的Task异步应用.Net4
internal partial class RavenService : ServiceBase
{
private RavenDbServer server;
private Task startTask;
public RavenService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
//单独开启一个线程启动服务
startTask = Task.Factory.StartNew(() =>
{
try
{
server = new RavenDbServer(new RavenConfiguration());
}
catch (Exception e)
{
EventLog.WriteEntry("RavenDB service failed to start because of an error" + Environment.NewLine + e, EventLogEntryType.Error);
Stop();
}
});
//等待20秒还没有启动则提示
if(startTask.Wait(TimeSpan.FromSeconds(20)) == false)
{
EventLog.WriteEntry(
"Startup for RavenDB service seems to be taking longer than usual, moving initialization to a background thread",
EventLogEntryType.Warning);
}
}
protected override void OnStop()
{
//异步等待销毁服务
startTask.ContinueWith(task =>
{
if (server != null)
server.Dispose();
return task;
}).Wait();
}
}
RavenDb中的Task异步应用.Net4相关推荐
- Android中的AsyncTask异步任务的简单介绍
事件原由: 很多耗时的资源在安卓客户端加载时,必须要开启一个新的线程去操作维护,而如果直接在主线程中加载的话,客户端会直接报出异常,导致程序不能正常使用,而子线程无法直接更新UI,因此客户端提供了 ...
- mysql异步task_EasySwoole高性能task异步任务
EasySwoole高性能task异步任务 羡仙. • 2019 年 06 月 20 日 和上一篇一样也是遗漏的重要文章,我太聪明了,这都能发现...他们都有共同的特征:笔记里的开头在上一篇...不管 ...
- ajax异步查询demo,ASP.NET中AJAX的异步加载(Demo演示)
此次的demo是一个页面,页面上有两行字,然后后面用ajax,使用一个下拉框去替换第一行文字[/code] 第一个是被替换的网页 var xmlhttprequest; function create ...
- 深入理解gradle中的task
文章目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 简介 ...
- Android中的AsyncTask异步任务的简单实例
在 Android中的AsyncTask异步任务的简单介绍 一文中,已经对 安卓 异步任务操作做了简单的介绍,这里,直接将上文中的异步任务做了一个实例,实现异步操作更新UI线程,相比开启子线程更新来 ...
- php异步查询数据库,php中mysql数据库异步查询实现
问题 通常一个web应用的性能瓶颈在数据库.因为,通常情况下php中mysql查询是串行的.也就是说,如果指定两条sql语句时,第二条sql语句会等到第一条sql语句执行完毕再去执行.这个时候,如果执 ...
- C# Task异步编程
1.不适用异步的示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...
- Proxmox VE中出现TASK ERROR: command ‘apt-get update‘ failed: exit code 100的解决方法
Proxmox VE中出现TASK ERROR: command 'apt-get update' failed: exit code 100的解决方法 参考文章: (1)Proxmox VE中出现T ...
- worker进程和task进程区别_swoole中使用task进程异步的处理耗时任务
我们知道,swoole中有两大进程,分别是 master 主进程和 manager 管理进程. 其中 master 主进程中会有一个主 reactor 线程和多个 reactor 线程,主要的作用就是 ...
最新文章
- HDU 1090 A+B for Input-Output Practice (II)
- 推荐:微服务架构的深度解析!
- Shell脚本(学习笔记1)
- 原生js判断css动画结束 css 动画结束的回调函数
- HDU4825 Xor Sum 01字典树(Tire Tree)
- TD-SCDMA成为我国通信行业标准
- ubuntu18.04安装opencv4.3.0
- java 课后习题 键入日期输入星期几
- 多所“双一流”明确将扩招!清华、上交、哈工大等也做出回应
- 中国电信5G套餐用户渗透率达到50.4%
- 大众CEO称市场有足够资金,支持建设6座大型电池工厂
- TCP/IP之路由算法
- flex图表坐标轴样式设置
- 孙鑫VC学习笔记:第十一讲 (六) 图形重绘方法二 利用元文件
- Servlet3异步原理
- mysql 删除表的方法_MySQL 删除表的三种方式
- 常见快速搜索算法图解
- Json Schema 是什么?
- 中国农大计算机保研,中国农业大学2021届保研情况
- 大数据发展趋势十个大方向
热门文章
- 前端学习(1877)vue之电商管理系统电商系统之头部布局
- 前端学习(1677):前端系列实战课程之游戏初始化
- 前端学习(1184):数据绑定指令
- java学习(157):线程的引入
- java学习(59):static修饰内部类
- Python isalpha()方法
- windows下python安装
- 串口字符传输时间计算
- 诺基亚7原生android,【诺基亚7Plus评测】系统:简洁原生安卓功能却不简单_诺基亚 7 Plus(4GB RAM/全网通)_手机评测-中关村在线...
- python调用数据库数据类型_Python使用Mysql官方驱动(取出dict类型的数据)