请问下,怎么样实现一个线程来调用控制多个线程的执行 到底是进程还是线程?试试Mutex? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你这个问法我当你已经会一个线程的用法,那么。。一个线程控制三个这个问题好象有点问题,如果你要在主窗体分别控制三个子窗体中的线程,你可以写三个方法(或一个方法传不同参数)来调用比如:BaseForm:T1()Form1:BaseForm T1(){}Form2:BaseForm T1(){}Form3:BaseForm T1(){}MainForm:void CallT(BaseForm f){ f.T1();}private void button1_Click(...){ Form1 f=new Form1(); CallT(f);}private void button2_Click(...){ Form2 f=new Form2(); CallT(f);}private void button3_Click(...){ Form3 f=new Form3(); CallT(f);} 不同的需求要使用不同的同步方式,没有具体的需求,那就给一个通用的线程教程:http://www.albahari.com/threading/part2.aspx。总的来说,一个是保护共享资源不被多个线程同时修改,另一个是控制线程的阻塞和继续。一般就是lock和xxxResetEvent(Slim)用的比较多。也可看下http://bbs.csdn.net/topics/390978972#post-398844623是之前类似的问题。 窗体之间的通讯,通过窗体的属性、方法、事件来通讯,也就是通过窗体对象之间的正常关系来通讯。比如说A窗口调用了B窗口的a方法,或者B窗口触发的c事件可以被A窗口监听并处理,等等。跟什么线程没有什么直接关系。线程是具体干什么事儿的时候才需要考虑的,例如需要把1+2+3的结果给计算出来,可是计算1+2只后需要把中间结果推送到电灯泡上去“闪三下”,然后再计算3+3,这时候就可以在子线程中控制电灯泡,而不用阻塞主线程计算3+3的动作。这个“控制电灯泡”的动作可能需要5ms,也可能需要250ms,总之不会阻塞计算,而且做完了该做的事情就自动结束了(实际上应该从系统线程中来分配线程,因此所谓“线程结束”的含义就是在执行完“点电灯泡”的用户定义方法只后,.net会自动将线程归还到系统线程池中)。不要没事也编出什么“一个线程控制3个线程”来。需要并发调用某几个方法,就可以使用线程。方法在一瞬间执行完,线程也就结束了。 关于数组的简单问题 GDI+画图问题 请教关于C#结果集dataset中过滤记录的问题 怎么能通过Click事件调用onpaint 输出0000--9999,遇到了问题 再次提问,如何模拟登录网页,从而获取登录后的html代码 输入 .net调用有返回值的SQL存储过程异常 关于条件查询的问题,希望各位前辈帮忙解决!!谢谢!! 请教:窗体切换显示问题 有人问我一个timestamp问题,谁知道这个时间戳是什么格式? 关于C# RDLC无预览直接打印出现的问题
比如:
BaseForm:T1()
Form1:BaseForm T1(){}
Form2:BaseForm T1(){}
Form3:BaseForm T1(){}
MainForm:
void CallT(BaseForm f)
{
f.T1();
}private void button1_Click(...)
{
Form1 f=new Form1();
CallT(f);
}private void button2_Click(...)
{
Form2 f=new Form2();
CallT(f);
}private void button3_Click(...)
{
Form3 f=new Form3();
CallT(f);
}