运行时多任务的基础知识
本文关键字:基础知识 多任务 运行时 | 更新日期: 2023-09-27 18:20:29
我有两件事要做
在按钮点击事件上,我需要
- 显示动画gif
- 启动长任务来计算或做任何需要时间的事情
尽管我只是做了一些测试来实现这一点,因为我认为
void dothings()
{
showWait();
doStuff();
}
然后
void dothings()
{
Task task1 = new Task(() => showWait());
task1.Start();
doStuff();
}
public void showWait()
{
var img = "<img src='"images/Earth3_movie.gif'" />";
DivSerpRes.InnerHtml = img;
}
仍然仅当doStuff()
最后完成页面渲染动画。。。
我怎样才能把它做好?
编辑
使用asp.net 4.0 Webforms
我使用ClientClick 上的image按钮属性添加了一个javascript代码
onClientClick="setTimeOut(func, 200)"
function func(){
var Thectrl = document.getElementById('DivWaitImg');
Thectrl.style.display = "block";
}
setTimeOut与pagepostback事件有关,该事件冻结页面,因此需要等待200ms
我很确定你已经落后了。您希望使Task
为doStuff
,使showWait
为非异步。Task
中的方法是在后台运行的方法。