社区
C#
帖子详情
请问下,怎么样实现一个线程来调用控制多个线程的执行
sxl_88
2015-02-11 09:06:12
在C# Winfrom项目中,有一个主窗体(mainfrom)和三个子窗体(subfrom1、subfrom2、subfrom3).
在主窗体(mainfrom)中有一个进程(用来控制调用三个子窗体中的进程)。在三个子窗体中分别各有一个进程(用于控制执行各自子窗体中的任务)。
请问怎么样实现在主窗体中的进程来控制调用三个子窗体中进程的执行,可以动态控制调用这三个子窗体中的进程的执行。
有没有相关的DEMO或参考资料,谢谢。
...全文
243
9
打赏
收藏
请问下,怎么样实现一个线程来调用控制多个线程的执行
在C# Winfrom项目中,有一个主窗体(mainfrom)和三个子窗体(subfrom1、subfrom2、subfrom3). 在主窗体(mainfrom)中有一个进程(用来控制调用三个子窗体中的进程)。在三个子窗体中分别各有一个进程(用于控制执行各自子窗体中的任务)。 请问怎么样实现在主窗体中的进程来控制调用三个子窗体中进程的执行,可以动态控制调用这三个子窗体中的进程的执行。 有没有相关的DEMO或参考资料,谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
於黾
2015-02-12
打赏
举报
回复
进程如同公司,线程如同员工,主线程就好比领导 领导负责对外交涉拉业务(UI),和管理员工(启动线程) 而不需要专门派一个员工去死盯着另外3个员工,那是闲的
threenewbee
2015-02-11
打赏
举报
回复
就你的需求来说,根本就用不着多线程。用一个状态变量在不同窗体间共享就可以了。
以专业开发人员为伍
2015-02-11
打赏
举报
回复
窗体之间的通讯,通过窗体的属性、方法、事件来通讯,也就是通过窗体对象之间的正常关系来通讯。比如说A窗口调用了B窗口的a方法,或者B窗口触发的c事件可以被A窗口监听并处理,等等。 跟什么线程没有什么直接关系。线程是具体干什么事儿的时候才需要考虑的,例如需要把1+2+3的结果给计算出来,可是计算1+2只后需要把中间结果推送到电灯泡上去“闪三下”,然后再计算3+3,这时候就可以在子线程中控制电灯泡,而不用阻塞主线程计算3+3的动作。这个“控制电灯泡”的动作可能需要5ms,也可能需要250ms,总之不会阻塞计算,而且做完了该做的事情就自动结束了(实际上应该从系统线程中来分配线程,因此所谓“线程结束”的含义就是在执行完“点电灯泡”的用户定义方法只后,.net会自动将线程归还到系统线程池中)。 不要没事也编出什么“一个线程控制3个线程”来。需要并发调用某几个方法,就可以使用线程。方法在一瞬间执行完,线程也就结束了。
以专业开发人员为伍
2015-02-11
打赏
举报
回复
线程在启动只后“一瞬间”就结束了。有事情可干,可能启动50个线程也不算多。没有事情可干的事情,你启动3个线程在那里“循环、阻塞”也是没有意义的。
winnowc
2015-02-11
打赏
举报
回复
不同的需求要使用不同的同步方式,没有具体的需求,那就给一个通用的线程教程:
http://www.albahari.com/threading/part2.aspx
。总的来说,一个是保护共享资源不被多个线程同时修改,另一个是控制线程的阻塞和继续。一般就是lock和xxxResetEvent(Slim)用的比较多。也可看下
http://bbs.csdn.net/topics/390978972#post-398844623
是之前类似的问题。
SmileSkyNet
2015-02-11
打赏
举报
回复
你这个问法我当你已经会一个线程的用法,那么。。一个线程控制三个。。。这个问题好象有点问题,如果你要在主窗体分别控制三个子窗体中的线程,你可以写三个方法(或一个方法传不同参数)来调用 比如: 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); }
sxl_88
2015-02-11
打赏
举报
回复
能不能再具体点,谢谢
sxl_88
2015-02-11
打赏
举报
回复
当然是线程了
娃都会打酱油了
2015-02-11
打赏
举报
回复
到底是进程还是线程? 试试Mutex?
现在有T1、T2、T3三个
线程
,怎样保证T2在T1
执行
完后
执行
,T3在T2
执行
完后
执行
...
本文深入探讨了Java中
线程
的join方法使用,通过两个示例代码详细展示了如何利用join方法
实现
线程
间的同步
执行
。第
一个
示例通过直接
调用
join方法
控制
线程
执行
顺序,第二个示例则在主
线程
中创建
多个
线程
并使用join方法确保前
一个
线程
完成后再启动下
一个
线程
。
现在有T1、T2、T3三个
线程
,怎样保证T2在T1
执行
完后
执行
,T3在T2
执行
完后
执行
本文深入探讨了Java中
线程
的join方法使用,通过两个示例代码详细展示了如何利用join方法
实现
线程
间的同步
执行
。第
一个
示例通过直接
调用
join方法
控制
线程
执行
顺序,第二个示例则在主
线程
中创建
多个
线程
并使用join方法确保前
一个
线程
完成后再启动下
一个
线程
。
C#使用ThreadPool
线程
池
实现
采集任务
本文介绍了
一个
使用C#
实现
的
线程
池任务管理系统,通过
控制
线程
数量和延迟时间,有效地管理和
执行
多个
任务。系统包括任务列表管理、
线程
池配置、任务
执行
逻辑和UI界面更新,同时解决了跨
线程
调用
UI的问题。
Java多
线程
——如何
控制
线程
顺序
执行
,如何
控制
线程
同时
执行
本文围绕Java多
线程
展开,介绍了
控制
线程
顺序和同时
执行
的方法,如用CountDownLatch
控制
同步。还阐述了创建
线程
的四种方式,重点讲解
线程
池,包括其概述、API、工作原理、阻塞队列选择、拒绝策略及配置优化,最后介绍了Executors类提供的四种
线程
池。
Java面试必备:如何在Java中
控制
多个
线程
的
执行
顺序
本文聚焦Java并发面试题,介绍在Java中
控制
多个
线程
执行
顺序的方法。多
线程
编程里
线程
执行
顺序常不确定,文中提及使用Thread.join()、ExecutorService和Future、CountDownLatch等方法,还配有流程图辅助理解,并给出性能比较与选择建议。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章