标签:data col 卡顿 lse res turn 参考 结果 wal
场景:预加载
页面加载或实现其他功能时,提前执行耗时操作,避免卡顿:参考
private Task<string> _getBigDataTask;
private void EarlierWork() {
_getBigDataTask = CreateGetDataTask();//提前执行耗时操作
}
private async Task<string> CreateGetDataTask() {
return await Task.Run(() => {
// 耗时操作
return "Data";
}).ConfigureAwait(false);
}
private void DoSomething() {
//init
//获取之前提前执行的结果,若执行未结束,则异步等待执行完成,获取结果后再执行
string data = _getStringDataTask.Result;
//after work
}
注意必须ConfigureAwait(false)
,否则死锁,详见:高铁直达
标签:data col 卡顿 lse res turn 参考 结果 wal
原文地址:https://www.cnblogs.com/wjcx-sqh/p/12412003.html