111,094
社区成员




Thread
if(A.longTimeWork is busy) //判断那个费时间的方法是否正在执行
{
//如果正在执行,线程就做其他事情
doOtherWork();
}
else
{
//否则就执行A的费时间的方法
A.longTimeWork();
}
private MethodInvoker frmAlongTimeWork;
frmAlongTimeWork=new MethodInvoker(A.longTimeWork)
frmAlongTimeWork.BeginInvoke(null,null);
doOtherWork();
Thread thread = new Thread(DoSomeWork);
thread.Start();
if(thread.Join(100)) //等待100毫秒,看看工作是否结束
{
//结束
}
else
{
//没结束
}
private MethodInvoker frmAlongTimeWork;
frmAlongTimeWork=new MethodInvoker(A.longTimeWork)
frmAlongTimeWork.BeginInvoke(null,null);
doOtherWork();
//private MethodInvoker frmAlongTimeWork;
//frmAlongTimeWork=new MethodInvoker(A.longTimeWork)
//frmAlongTimeWork.BeginInvoke(null,null);
A.longTimeWork();
doOtherWork();
//private MethodInvoker frmAlongTimeWork;
//frmAlongTimeWork=new MethodInvoker(A.longTimeWork)
//frmAlongTimeWork.BeginInvoke(null,null);
doOtherWork();
IAsyncResult ar //异步状态
Invoke(doOtherWork)
BeginInvoke(方法名)