日期:2014-05-19  浏览次数:20771 次

请教一个多线程的问题
在winform中,因为需要调用一个服务start(),但是如果单线程的话,调用服务的时候

主程序会比较卡,所以想用异步来解决下问题。

当前方式为
foreach(......)
{
string   s   =   do   something//获取工作ID
try
{
start(s);
//如果成功,没有catch到任何错误
//执行相关任务
do   something
}
catch(Exception   ex)
{
MessageBox.Show(ex.Message);
//执行错误后的操作
}
}

但是这样实现会造成一旦提交后主程序非常卡,请问如何启动另外一个线程来调用star

t(s);并且也能catch到错误并做相关操作呢?

------解决方案--------------------
foreach(......)
{
string s = do something//获取工作ID
try
{
Thread t = new (ThreadStart ts(start));
t.start();

do something
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
//执行错误后的操作
}
}

这样就OK了,请把分给我吧.

**********************************************
Mr xing
email&msn:xingtaisen@126.com
QQ:654 1798 16
**********************************************