*********工作线程和主线程的通信问题***********急急急!!!!

lvconglvcong 2006-03-16 10:58:37
主程序线程
工作线程。
//============================
工作线程执行序列
{
....
....

在这里我怎么告诉主线程去做某一件事情,
比如告诉主线程去执行一个函数,或则执行某一事件
(如果是vc可以用windows消息通知主线程,然后主线程去响应)。

继续执行该工作线程的下一语句
.........。
..............

}

谢谢高手指点哦。
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sawam 2006-03-16
  • 打赏
  • 举报
回复
using System;

namespace ConsoleApplication1
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Test test = new Test();
System.Threading.Thread 主线程 = new System.Threading.Thread( new System.Threading.ThreadStart( test.主线程循环 ));
System.Threading.Thread 工作线程 = new System.Threading.Thread( new System.Threading.ThreadStart( test.工作线程 ));
主线程.Start();
工作线程.Start();
while ( true )
{
System.Threading.Thread.Sleep(10);
}
//
// TODO: 在此处添加代码以启动应用程序
//
}
}
public delegate void MyEventHandler( object sender, EventArgs arg );
public class Test
{
public event MyEventHandler 通知主线程事件;
public void 主线程循环()
{
通知主线程事件 += new MyEventHandler(Test_通知主线程事件);
while( true )
{
System.Threading.Thread.Sleep(1);
}
}

public void 工作线程()
{
while( true )
{
if ( 通知主线程事件 != null )
通知主线程事件( this, new EventArgs() );
System.Threading.Thread.Sleep(500);
}
}

private void Test_通知主线程事件(object sender, EventArgs arg)
{
System.Console.WriteLine( "收到工作线程通知了" );
}
}
}
lvconglvcong 2006-03-16
  • 打赏
  • 举报
回复
第一种方法 你是说委托吗????
invoke(委托,参数) 是不是这个?


如果用事件通知 怎么实现??
代码给来看看
sawam 2006-03-16
  • 打赏
  • 举报
回复
用代理或者事件通知主线程
C#里也可以调用api发送消息哦(工作线程一定要调用TranslateMessage和DispatchMessage)
zlz_212 2006-03-16
  • 打赏
  • 举报
回复
关注
学习
lvconglvcong 2006-03-16
  • 打赏
  • 举报
回复
正在做项目 好紧啊 ~~~
lvconglvcong 2006-03-16
  • 打赏
  • 举报
回复
public delegate void MyEventHandler( object sender, EventArgs arg );
这个委托怎么写都 可以的吧

我测试了下 public delegate void MyEventHandler(string msg); 也没有问题的。

随便问一下MyThread.Suspend();
MyThread.Resume(); 好象这两个方法。net2005警告已经过时,但不是错误 可以使用
那该用什么方法来代替比较好???



马上给结贴了 呵呵~~~~~

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧