社区
C#
帖子详情
请问下,怎么样实现一个线程来调用控制多个线程的执行
sxl_88
2015-02-11 09:06:12
在C# Winfrom项目中,有一个主窗体(mainfrom)和三个子窗体(subfrom1、subfrom2、subfrom3).
在主窗体(mainfrom)中有一个进程(用来控制调用三个子窗体中的进程)。在三个子窗体中分别各有一个进程(用于控制执行各自子窗体中的任务)。
请问怎么样实现在主窗体中的进程来控制调用三个子窗体中进程的执行,可以动态控制调用这三个子窗体中的进程的执行。
有没有相关的DEMO或参考资料,谢谢。
...全文
250
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
执行
完后
执行
...
public class TestJoin { public static void main(String[] args) { Thread t1 = new MyThread(“
线程
1”); Thread t2 = new MyThread(“
线程
2”...
现在有T1、T2、T3三个
线程
,怎样保证T2在T1
执行
完后
执行
,T3在T2
执行
完后
执行
public class TestJoin { public static void main(String[] args) { Thread t1 = new MyThread(“
线程
1”); Thread t2 = new MyThread(“
线程
2”); Thread t3 = new MyThread(“
线程
3”); try { //t1先启动 ...
C#使用ThreadPool
线程
池
实现
采集任务
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Microsoft...
Java面试必备:如何在Java中
控制
多个
线程
的
执行
顺序
在多
线程
编程中,
线程
的
执行
顺序通常是不确定的,由操作系统调度器决定。然而,在某些场景下,我们需要
控制
线程
的
执行
顺序以满足特定的业务需求。本文将介绍几种在Java中
控制
线程
执行
顺序的方法,并通过流程图帮助理解这些机制。
JAVA
实现
多个
线程
顺序
执行
的几种方式
题目描述:如何保证
多个
线程
的顺序
执行
? join方式
实现
join方式即使用Thread.join方法来
实现
。Thread.join含义当前
线程
需要等待previousThread
线程
终止之后才从thread.join返回。简单来说,就是
线程
没有
执行
完之前,会一直阻塞在join方法处。 join方式
实现
方式存在两种:主
线程
join和
执行
线程
join。下面我们依次来分析一下: 1.主
线程
join 上面源码就是主
线程
join的
实现
方式,其原理就是保证
执行
线程
执行
完毕再start后续
线程
,从而.
C#
111,128
社区成员
642,536
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章