指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行
比如
using System;
namespace TestThreadJoin
{
class Program
{
static void Main()
{
System.Threading.Thread x = new System.Threading.Thread(new System.Threading.ThreadStart(f1));
x.Start();
Console.WriteLine("This is Main.{0}", 1);
x.Join();
Console.WriteLine("This is Main.{0}", 2);
Console.ReadLine();
}
static void f1()
{
System.Threading.Thread y = new System.Threading.Thread(new System.Threading.ThreadStart(f2));
y.Start();
y.Join();
Console.WriteLine("This is F1.{0}",1);
}
static void f2()
{
Console.WriteLine("This is F2.{0}", 1);
}
}
}
这儿有三个线程在处理(包括主线程),大家可看看执行结果.
结果:
This is Main.1
This is F2.1
This is F1.1
This is Main.2
如果: 注释// x.Join();
结果:
This is Main.1
This is Main.2
This is F2.1
This is F1.1
分享到:
相关推荐
是第一次在C#中接触Thread,自己研究了一下其中Thread.Join()这个方法,下面谈谈自己的理解。 Thread.Join()在MSDN中的解释很模糊:Blocks the calling thread until a thread terminates 有两个主要问题: ...
本文实例讲述了C#多线程之Thread中Thread.Join()函数用法。分享给大家供大家参考。具体分析如下: Thread.Join()在MSDN中的解释:Blocks the calling thread until a thread terminates 当NewThread调用Join方法的...
通过线程池,可以直接从池中查找出空闲线程,让它执行委托WaitCallback对应函数来执行相关操作。使用时要与AutoResetEvent来并用,以在线程结束时通知主线程退出; 使用线程池来找到一个线程执行函数,实质减少了...
《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表...,共包含562个C#编程中常用的属性、方法、类和各种技术...
C#5.0本质论第四版,高清扫描的,对C#5.0技术讲的比较详细,第1章 C#概述 1 1.1 Hello,World 1 1.2 C#语法基础 3 1.2.1 C#关键字 3 1.2.2 标识符 4 1.2.3 类型定义 5 1.2.4 Main 6 1.2.5...
本文主要描述在C#中线程同步的方法。线程的基本概念网上资料也很多就不再赘述了。直接接入主题,在多线程开发的应用中,线程同步是不可避免的。在.Net框架中,实现线程同步主要通过以下的几种方式来实现,在MSDN的...
本文实例讲述了C#多线程中的异常处理操作。分享给大家供大家参考,具体如下: 常规Thread中处理异常 使用Thread创建的子线程,需要在委托中捕捉,无法在上下文线程中捕捉 static void Main(string[] args) { Thread...
if (!bRunning) { value = Convert.ToInt32(StartValBox.Text); outCount = 0; inCount = 0; bRunning = true;... StartBtn.Text = "Stop";... //creates new thread ... tXfers.Join(); tXfers = null; } }
c# 多线程技术资料合集 含部分代码; 包含:多线程Thread类的Join()思路;多线程C#多线程学习;多线程互斥C#多线程学习等等.....
m_Thread.Join(); m_FillProc = null; FreeBuffers(); if (m_WaveOut != IntPtr.Zero) WaveNative.waveOutClose(m_WaveOut); } finally { m_Thread = null; m_Wave...
6.3.1 理解类成员 175 6.3.2 单例(Singleton)类 176 6.4 final修饰符 177 6.4.1 final变量 177 6.4.2 final方法 181 6.4.3 final类 182 6.4.4 不可变类 182 6.4.5 缓存实例的不可变类 186 6.5 抽象类 188 ...
C#多线程实验,就AutoResetEvent,ManualResetEvent,Thread.join(),委托多线程回调。