一个线程间通讯的问题 我有一个工作线程作一些后台的事情。 我的需求是在工作线程结束后由主线程接着作一些后续的工作。由于主线程还要处理UI上的操作所以不能用Join()方法一直等待工作线程结束。大家在遇到这种情况的时候都用什么方法解决两个线程间的通讯问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么用delegate?如果工作线程调用的话不是一样还是在工作线程中执行的? public class DoTask{ public event DoTaskDelegate Callback; public void Start(object o) { // do something Callback(""); }}public delegate void DoTaskDelegate(object o);=======================================================private void buttun1_click(object sender,EventArgs e){ DoTask dt = new DoTask(); dt.Cllback += new DoTaskDelegate(this.MessageHandler); Thread t = new Thread(new ParameterizedThreadStart(dt.Start)); t.Start(null);}private void MessageHandler(object o){ } 你在Start()中调用Callback()的时候会调用到MessageHandler(),但是仍然是在工作线程中执行的MessageHandler()吧。我希望的是在工作线程结束后在主线程中执行MessageHandler(),也就是button1_click()的那个线程执行MessageHandler() 两位说的是Control.Invoke()吧,可我的主线程中没有任何窗口,该怎么办? AutoResetEvent会使当前线程阻塞在那里吧 mdb文件监控问题 腾讯QQ聊天机制? Tcp传输到底会不会丢数据?给点建设性意见。 正则表达式 高手请进 ,网页内容提取问题(为何网页内容有丢失?) C#winForm中,怎样添加屏幕保护特效? 补充说明 K!2003开发的sln不能在2002中打开 一个关于vs的新问题 在c#中如何指定axMediaPlayer播放文件的相对路径名?急! Winfrom 中怎样在回车时设置焦点? 一个数据库插入的问题
{
public event DoTaskDelegate Callback;
public void Start(object o)
{
// do something
Callback("");
}
}
public delegate void DoTaskDelegate(object o);=======================================================
private void buttun1_click(object sender,EventArgs e)
{
DoTask dt = new DoTask();
dt.Cllback += new DoTaskDelegate(this.MessageHandler);
Thread t = new Thread(new ParameterizedThreadStart(dt.Start));
t.Start(null);
}
private void MessageHandler(object o)
{
}