工业盐怎么生产:C# 如何在某个线程起动后触发一个事件(thread.start 触发事件)

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/03 01:20:43
C# 如何在某个线程起动后触发一个事件(thread.start 触发事件)

Thread[] ths = new Thread[10];
for(int i=0;i<10;i++)
{
ths[i] = new Thread(new ThreadStart(aa));
ths[i].Start(); //这里,线程起动时触发一个事件(bb),
}
先谢谢2楼的关注!

我也是你说的那么做的,这样做得调用SendMessage(new object)才能触发事件,可是不知道怎么把自定事件和Thread.Start()关联起来,让某个线程调用Start()方法的时候自动触发
问题目的:给Thread类加一个OnStart事件,起动线程时触发!

ths[i] = new Thread(new ThreadStart(aa));
ths[i].Start(); //这里,线程起动时触发一个事件(bb)

在aa的第一行写触发事件bb的代码?

System.Threading.Thread thread1=new System.Threading.Thread(new System.Threading.ThreadStart(函数名字));
thread1.IsBackground=true;
thread1.Start();

然后在“函数名字”这个函数中写相应的过程就可以了

为了防止两个线程冲突,如果要对WINDOWS表单的控件(datagrid等)进行线程处理的时候要,建立响应的WINDOWS表单的控件的线程的子线程来处理,这要借助于委托来使用。

首先 定义代理
delegate void mydelegate();//表单子线程代理

this.datagrid对象.Invoke(new mydelegate(子线程的函数名));
然后在“子线程的函数名”这个函数中写相应的过程就可以了

我说的可能不一定准确,也不一定是你的意思,我最近在写WINDOWS程序所以印象比较深,就把我的一些代码抄上去了,希望对你有用

//用委托
public delegate void MyEvent(object myObj);//定义委托
public event MyEvent SendMessage;//定义事件

//注册事件
SendMessage += new MyEvent(Paging_SendMessage);

//具体查阅相关文档,网上很多的。

aa 不就是吗?

aa是不是你写的?你可以在aa中作个delegate,把bb传进来就行了,然后这个委托方法在aa在创建方法中使用

不是你写的,那就继承一下Thread好了

必须把分数给我 加我QQ在线给你回答 做例子也可以在加分数什么问题都可以回答 除了C C++ 和JAVA的也可以 好多分数啊