C#多线程: 怎么知道 多个线程 执行完毕了?所有的线程执行完毕后 我要做处理

如题所述

第1个回答  2013-08-24
呃.NET 已经全忘了JAVA的有,你看看行不判断所有线程已经结束可以使用线程等待结束的方法:List threadList = new ArrayList();for (int j = 0; j < 100; ++j){GetHttpThread t = new GetHttpThread(urlList.get(j).toString());t.start();threadList.add(t);}for(int i=0;i<threadList.size();i++){Thread t = (Thread)threadList.get(i);t.join();}这样,每一个join都会等待该线程结束。当下面那个循环执行完的时候,那么所有线程就都结束了。还有一个方法就是利用回调。每一个执行线程在run方法的最后都去回调主线程的一个计数器方法。本回答被提问者采纳

...执行完毕了?所有的线程执行完毕后 我要做处理
还有一个方法就是利用回调。每一个执行线程在run方法的最后都去回调主线程的一个计数器方法。

C#怎样判断线程执行完毕
如果此线程已启动并且尚未正常终止或中止,则为 true;否则为 false。

如何判断线程池里面所有的线程执行完成
在使用多线程的时候有时候我们会使用 java.util.concurrent.Executors的线程池,当多个线程异步执行的时候,我们往往不好判断是否线程池中所有的子线程都已经执行完毕,但有时候这种判断却很有用,例如我有个方法的功能是往一个文件异步地写入内容,我需要在所有的子线程写入完毕后在文件末尾写“---END--...

怎么判断ThreadPool线程池里的任务都执行完毕
c# ThreadPool 判断子线程全部执行完毕的四种方法 1、先来看看这个 多线程编程 多线程用于数据采集时,速度明显很快,下面是基本方法,把那个auto写成采集数据方法即可。 using System; using System.Collections.Generic; using System.Text; u...

执行一个C#线程,怎么判断线程执行完毕?
给一个全局ManuallResetEvent对象a,在线程执行的函数的最后一行加上a.Set()然后用WaitHandle的WaitOne等待

c# 循环里面有线程 怎么能让 线程执行完之后再执行外面的循环_百度知 ...
如果单就lz的问题的话,可以弄一个回调函数,每个线程执行完了,回调函数里的全局变量就加1,外层循环判断这个全局变量为10的话,就继续

C# 多线程问题
你的这个问题还真不好处理,线程套线程,还想等待全部完成,如果不想改设计的话,就使用ManualResetEvent这个对象,每次线程创建子线程时,都创建这个对象,保证所有的线程都执行完毕再将阻塞放开。(可采用计数方式,开始记录需要创建多少个线程,再记录一个变量(原子型)每个子线程完成时都将变量值加1,...

高手进~ C# 多线程处理
异步多线程内存释放主要靠自己,C#的垃圾回收机制是,只有当程序段运行完毕后,垃圾回收机制才对程序开辟的内存进行垃圾回收。而多线程内的程序,特别是客户端连接,只要客户端没有断开连接,你的线程就会继续运行,除非断开客户端,线程的生命周期结束,垃圾回收机制才会对该线程产生占用的内存进行回收。如果...

C#多线程问题,子线程结束后回到主线程。
首先,我觉得你的方法应该是可以实现你想要的功能的,为此我改写了你的两个处理方法来做测试, 如下:private void SendAndReceive(){ Console.WriteLine("Started sending and recieving..."); Thread.Sleep(2000); Console.WriteLine("Finished sending and recieving...");}private void ...

多线程问题,,如何让所有子线程结束后再执行主线程,,要C#
首先子线程必须由主线程启动,所以严格意义上的“子线程结束后再执行主线程”是不可能实现,你的意思应该是:主线程创建完子线程后,等待子线程退出,在继续执行。你的代码基本没有多大问题,只是 Join 方法位置放置不对。thread1.Start(); \/\/ 先启动所有子线程 thread2.Start();thread3.Start();...

相似回答