c# 主线程等待子线程结束,以及获取子线程执行的结果 [问题点数:50分,结帖人lao_mi]

Bbs1
本版专家分:0
结帖率 50%
Bbs5
本版专家分:4356
Bbs11
本版专家分:219742
版主
Blank
名人 2013年 荣获名人称号
Blank
状元 2012年 总版技术专家分年内排行榜第一
Blank
进士 2013年 总版技术专家分年内排行榜第七
2011年 总版技术专家分年内排行榜第五
2009年 总版技术专家分年内排行榜第九
Blank
金牌 2012年11月 总版技术专家分月排行榜第一
Bbs5
本版专家分:4617
Bbs10
本版专家分:139102
Blank
进士 2010年 总版技术专家分年内排行榜第五
Blank
银牌 2010年11月 总版技术专家分月排行榜第二
2010年9月 总版技术专家分月排行榜第二
2010年8月 总版技术专家分月排行榜第二
Blank
铜牌 2010年7月 总版技术专家分月排行榜第三
Blank
微软MVP 2012年1月 荣获微软MVP称号
2011年1月 荣获微软MVP称号
Bbs5
本版专家分:2824
Bbs4
本版专家分:1818
Bbs6
本版专家分:8145
Bbs1
本版专家分:0
Bbs1
本版专家分:0
急求帮忙!C#Task如何在线在开线,并等待线中线结束
如题: 想要在<em>子</em>线<em>程</em>再开线<em>程</em>,并且要最底层的<em>子</em>线<em>程</em><em>结束</em>以后才进行其他的 操作,因为工作需要。 我写了个例<em>子</em>,如下: using System; using System.Collections.Gen
C#多线中,如何判断所有task执行完毕?
-
C#怎样判断线执行完毕?请看详细说明
我写了一个迭代遍历算法,遍历系统所有文件来寻找一个文件,首先求大神们尽量不要说你有更好的方法咱们就事论事话虽不好听但是我不想提个问结果被教育了。。。 上代码: private static void
【C#】38. 线等待方法:join
其实多线<em>程</em>最复杂的地方在于不同线<em>程</em>间的同步问题,这其中会涉及到先后<em>执行</em>问题、共享变量问题等。这篇文章我们主要来开个头,看一下join方法。 using System; using System.Threading; namespace Chapter1.Recipe3 { class Program { static void Main(string[] args) { Console.Wri
如何等待一个线执行完毕后再执行下面的代码?
实际业务中需要<em>等待</em>一个线<em>程</em><em>结束</em>并拿到结果后再<em>执行</em>后面的<em>程</em>序,我试过一些方法都不行,请各位大神帮忙看看错在哪里。 ///点击按钮后,启动线<em>程</em>,调用<em>执行</em>函数test() private void btn_
.Net最简单的创建多线主线等待所有线执行完成的例
private static void Test2() { var waits = new List(); for (int i = 0; i < 10; i++) { var handler = new ManualResetEvent(false);
C#多线同步事件及等待句柄
最近捣鼓了一下多线<em>程</em>的同步问题,发现其实C#关于多线<em>程</em>同步事件处理还是很灵活,这里主要写一下,自己测试的一些代码,涉及到了AutoResetEvent 和 ManualResetEvent,当然还有也简要提了一下System.Threading.WaitHandle.WaitOne 、System.Threading.WaitHandle.WaitAny和System.Threading.Wait
c# 多线任务中结束全部线
<em>c#</em> 多线<em>程</em>任务中<em>结束</em>全部线<em>程</em>
C#线操作的各个方法(创建、挂起、终止、恢复、等待终止等)
C#线<em>程</em>操作的各个方法       在UI事件后需要<em>执行</em>大量耗费时间的代码时,通常需要将此代码放入线<em>程</em>中去<em>执行</em>,本文着重讲一下从线<em>程</em>的创建到<em>执行</em>及终止的一系列操作。 一、线<em>程</em>的创建。     线<em>程</em>创建分为带参数线<em>程</em>与不带参数线<em>程</em>,带参数时需要用object做封装,多个参数使用object[] data,以下为代码 // 无参数函数 public static void ParaMete...
C# Task.WaitAll无法阻止主线,等待全部完成,难道下一句要死循环判断结束标识
private int i1 = 0, i2 = 0, i3 = 0; private void button1_Click(object sender, EventArgs e) { Task t
c#多线网络请求,等待所有线完成后更新UI
循环进行网络请求拉取用户信息(每个用户信息都需要一次网络请求),拉取完成后需要通知界面更新UI。实现方法是使用C#提供的ManualResetEvent,相当于一个标记,在每个线<em>程</em>中插入这个标记。再启动一个线<em>程</em>循环监听这个标记,直到所有线<em>程</em>都<em>执行</em>完毕则更新UI。
如何等待一个线完成后才继续执行之后的操作
   <em>c#</em>的Application.DoEvents()的作用      交出CPU控制权,让系统可以处理队列中的所有Windows消息,比如在大运算量循环内,加Application.DoEvents可以防止界面停止响应,因为winform的消息循环是一个线<em>程</em>来处理,那么假如你的某个操作比较耗时,那么消息处理得等你这个耗时操作做完了才能继续,而Application.DoEvents方法
C#线的使用(二):检测线结束
C#中检测线<em>程</em><em>结束</em>的方法有多种:          一.        使用带返回值的Func开启的线<em>程</em>检测:                      Func f = MyThread;                IAsyncResult ar=f.BeginInvoke(3,"str参数",null,null);                fun
C#线中的等待与阻塞
在C#多个线<em>程</em>运行的过<em>程</em>中,会遇到先运行哪个线<em>程</em>和后运行哪个线<em>程</em>的问题,这需要用到ManualResetEvent类。 ManualResetEvent类允许不同线<em>程</em>通过互发信号和<em>等待</em>彼此的信号来达到线<em>程</em>同步的目的。 它有三个重要的方法:Reset、Set和WaitOne。 首先要初始化一个ManualResetEvent类,可定义如下: private ManaulResetEvent
c# Task多线并行任务中等待所有线执行完成
C#多线<em>程</em>中如何<em>等待</em>所有线<em>程</em>的任务都<em>执行</em>完成呢?在.net 4.0以4.0+中,有Task.WaitAll(params Task[] tasks)方法来<em>等待</em>所有Task[],而不需要更多的操作。按照微软官方的文档,我写了一个实例来调试和说明: using System; using System.Collections.Generic; using System.Linq; using S
C#线等待句柄
互斥对象 Mutexprivate Mutex m = new Mutex();public void Method(){ m.WaitOne(); //<em>执行</em>操作 m.ReleaseMutex(); }共享资源SemaphoreSemaphore是一个信号量,可以让多个资源分类型的同时进行。书中一个重要的有代表性的例<em>子</em>就是图书馆有多个电脑,有若干个人使用电脑的问题。是一个不错
C# 线的使用 挂起线、休眠线和终止线(源码例)
C# 线<em>程</em>的使用 挂起线<em>程</em>、休眠线<em>程</em>和终止线<em>程</em>(源码例)
C#线执行完后通知主线
其实这个比较简单,<em>子</em>线<em>程</em>怎么通知<em>主线</em><em>程</em>,就是让<em>子</em>线<em>程</em>做完了自己的事儿就去干<em>主线</em><em>程</em>的转回去干<em>主线</em><em>程</em>的事儿。 那么怎么让<em>子</em>线<em>程</em>去做<em>主线</em><em>程</em>的事儿呢,我们只需要把<em>主线</em><em>程</em>的方法传递给<em>子</em>线<em>程</em>就行了,那么传递方法就很简单了委托传值嘛;下面有一个例<em>子</em>,<em>子</em>线<em>程</em>干一件事情,做完了通知<em>主线</em><em>程</em>public class Program { //定义一个为委托 public deleg
异步回调 主线等待线结束
static TimeSpan waitTime = new TimeSpan(0, 0, 5);         static WaitHandle[] waitHandles = new WaitHandle[]    {    new AutoResetEvent(false)   //new AutoResetEvent(false)    };         Thread
C#线执行完后通知主线的方法
怎么让<em>子</em>线<em>程</em>去做<em>主线</em><em>程</em>的事儿呢,我们只需要把<em>主线</em><em>程</em>的方法传递给<em>子</em>线<em>程</em>就行了,那么传递方法就很简单了委托传值嘛; 下面有一个例<em>子</em>,<em>子</em>线<em>程</em>干一件事情,做完了通知<em>主线</em><em>程</em> public class Program { //定义一个为委托 public delegate void Entrust(string str); static void Main(string[] args)...
C#主线等待线运行结束
佐左佑右原文C#<em>主线</em><em>程</em><em>等待</em><em>子</em>线<em>程</em>运行<em>结束</em>   由于主<em>程</em>序中调用matlab的dll文件进行计算要用较长的时间,主界面会有很长时间的卡顿,造成的用户感受十分不好,因此我想在调用时,将调用放入<em>子</em>线<em>程</em>中,然后在<em>主线</em><em>程</em>中弹出一个提示框,显示数据正在加载,等<em>子</em>线<em>程</em>运行<em>结束</em>后,<em>主线</em><em>程</em>继续工作。 使用的是http://hi.baidu.com/okt...
多线等待线结束的问题
<em>程</em>序的大概流<em>程</em> for(int i=0;i<MAXTHREAD;i++
Thread:主线等待线执行完毕再执行解决办法
线<em>程</em>从启动到<em>执行</em>完毕,一般会有一些耗时操作,并不能像一般的<em>程</em>序语句,就能立马<em>结束</em>。如下代码: package com.xxx.async; public class WaitThreadDone { public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override ...
主线等待所有线执行完后关闭
1. 使用join()方法,让<em>主线</em><em>程</em><em>等待</em> join的意思是使得放弃当前线<em>程</em>的<em>执行</em>,<em>等待</em>引用线<em>程</em><em>执行</em>完毕。 public class MyThread implements Runnable { @Override public void run() { System.out.println(Thread.currentThread().getName() + ...
主线等待所有线完成后再执行
<em>主线</em><em>程</em><em>等待</em>所有<em>子</em>线<em>程</em>完成后再<em>执行</em>
并发问题和主线等待所有线运行完毕再执行
我们对数据库的操作是一个耗时过<em>程</em>,假如我们需要让数据库批量操作完成之后,再跳转到另外一个页面,注意:是批量操作完成之后再跳转。 分析:以上需求我们遇到2个难点, 第一个难点是怎么控制并发问题, 第二个难点是怎么使<em>主线</em><em>程</em><em>等待</em>所有<em>子</em>线<em>程</em>完成之后再<em>执行</em>。
主线等待线结果过中,如何即处于等待状态,又不阻塞主线继续响应其他消息?请高手支招,在线等..........
有一个界面按钮事件A,要求实现以下功能: 1、<em>等待</em><em>子</em>线<em>程</em><em>执行</em><em>结束</em>,得到结果后继续<em>执行</em>,这个不难 2、在<em>等待</em><em>子</em>线<em>程</em>的过<em>程</em>中,要能继续响应界面上其他按钮的点击事件(这个不会) A事件的响应函数如何写?请高
主线等待线执行完再结束
<em>主线</em><em>程</em>–<em>子</em>线<em>程</em>1–<em>子</em>线<em>程</em>1的<em>子</em>线<em>程</em>1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |-<em>子</em>线<em>程</em>1的<em>子</em>线<em>程</em>2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | &amp;nb
多线主线等待线执行完毕再执行
public static void main(String[] args) throws InterruptedException { int threadNumber = 10; final CountDownLatch countDownLatch = new CountDownLatch(threadNumber); for (int i ...
java主线等待所有线执行完毕在执行(2)
原文:https://www.cnblogs.com/jsunday/p/3782874.html工作总往往会遇到异步去<em>执行</em>某段逻辑, 然后先处理其他事情, 处理完后再把那段逻辑的处理结果进行汇总的场景, 这时候就需要使用线<em>程</em>了.  一个线<em>程</em>启动之后, 是异步的去<em>执行</em>需要<em>执行</em>的内容的, 不会影响<em>主线</em><em>程</em>的流<em>程</em>,  往往需要让<em>主线</em><em>程</em>指定后, <em>等待</em><em>子</em>线<em>程</em>的完成. 这里有几种方式.  站在<em>主线</em><em>程</em>的角度, ...
C#一个主线产生一个线,在线执行完之前,主线等待
C#一个<em>主线</em><em>程</em>产生一个<em>子</em>线<em>程</em>,在<em>子</em>线<em>程</em><em>执行</em>完之前,<em>主线</em><em>程</em><em>等待</em>。这个该如何做呢?
多线主线等待所有线执行完再继续执行的解决方法
最近在做系统架构的时候,一个命令需要同时在多个分布节点上<em>执行</em>命令,但主处理又必须等所有节点<em>执行</em>回来后再继续处理,因此研究了一下多线<em>程</em>,现分享如下: 1)第1种方法,微软提供的标准教<em>程</em>: 利用 ManualResetEvent和WaitHandle.WaitAll: public class Fibonacci { public Fibonacci(int n, Man
c#线执行完怎么通知主线
定义一个委托实现回调函数 public delegate void CallBackDelegate(string message); <em>程</em>序开始的时候 //把回调的方法给委托变量 CallBackDelegate cbd = CallBack; //启动线<em>程</em> Thread th = new Thread(Fun); th.Start(cbd);//开始线<em>程</em>,代入参数 //线<em>程</em><em>执行</em>的方法 参数是
C#多线,如何先让主线执行完A()再执行B()
-
C# 线启动、停止、终止、阻塞综合演示
C# <em>子</em>线<em>程</em>启动、停止、终止、阻塞综合演示,通过本例<em>子</em>你将了解到创建线<em>程</em>ThreadS,演示SubThread类的SubThreadFunc()方法、<em>主线</em><em>程</em>如何睡眠、终止ThreadS、尝试启动STh
C#在主线中、UI线中进行sleep而不希望界面失去响应、不希望线也被阻塞的办法
转自:https://blog.csdn.net/realDonaldTrump/article/details/80799052应用问题描述在<em>主线</em><em>程</em>中或UI线<em>程</em>中如果需要<em>等待</em>某个对象或任务,可能会调用到Thread.Sleep,此时将会阻塞<em>主线</em><em>程</em>或UI线<em>程</em>,并且将会阻塞<em>子</em>线<em>程</em>,此时会造成UI界面没有响应,假死。解决办法在<em>主线</em><em>程</em>中使用委托Delegate。简单粗暴的解决办法如果想要保持UI继续响应...
C++主线等待线结束
<em>主线</em><em>程</em>: hThread = (HANDLE)_beginthreadex( NULL, 0, &ThreadFun, NULL, 0, &nThreadID ); StartWork() OnDow
C#/.NET主线线之间的关系
一般来说,一个应用<em>程</em>序就对应一个进<em>程</em>,一个进<em>程</em>可有一个或多个线<em>程</em>,只有一个<em>主线</em><em>程</em>。 <em>主线</em><em>程</em>与<em>子</em>线<em>程</em>之间的关系 默认情况,在新开启一个<em>子</em>线<em>程</em>的时候,他是前台线<em>程</em>,只有将线<em>程</em>的IsBackground属性设为true;他才是后台线<em>程</em> 当<em>子</em>线<em>程</em>是前台线<em>程</em>,则<em>主线</em><em>程</em><em>结束</em>并不影响其他线<em>程</em>的<em>执行</em>,只有所有前台线<em>程</em>都<em>结束</em>,<em>程</em>序<em>结束</em> 当<em>子</em>线<em>程</em>是后台线<em>程</em>,则<em>主线</em><em>程</em>的<em>结束</em>,会导致<em>子</em>线<em>程</em>的强迫<em>结束</em> 不管是前台
excel文件导入jar包下载
excel文件导入jar包,共包括两个jar包commons-fileupload.jar包以及jxl.jar包。 相关下载链接:[url=//download.csdn.net/download/lingzhi123/2676174?utm_source=bbsseo]//download.csdn.net/download/lingzhi123/2676174?utm_source=bbsseo[/url]
TIdSMTP TIdMessage 发送电子邮件例子源代码下载
BCB 6 利用Indy 9 开发的发送邮件客户端例子源代码,仅供参考,源代码可用于商业工程代码中。 相关下载链接:[url=//download.csdn.net/download/xuanner/2907703?utm_source=bbsseo]//download.csdn.net/download/xuanner/2907703?utm_source=bbsseo[/url]
Windows管理和基础:从Windows Vista到Windows 7下载
Windows管理和基础:从Windows Vista到Windows 7 相关下载链接:[url=//download.csdn.net/download/zsmesky/7492387?utm_source=bbsseo]//download.csdn.net/download/zsmesky/7492387?utm_source=bbsseo[/url]
相关热词 c#部署端口监听项目、 c#接口中的属性使用方法 c# 昨天 c#func链接匿名方法 c#怎么创建文件夹 c#从键盘接收空格 c#da/ad c#部门请假管理系统 c#服务器socket c# 默认的访问修饰符
我们是很有底线的