C#同步线程详细概述

C#语言有很多值得学习的地方,这里我们主要介绍C#同步线程,包括介绍lock声明和Thread.Join方法等方面。

C#同步线程

在C#同步线程方面,C#提供了几种方法。在上述计算平方的例子中,需要与执行计算的C#同步线程,以便等待它执行完并且得到结果。另一个例子是,如果在其它线程中排序一个数组,那么在使用该数组前,必须等待该处理完成。为了实现同步,C#提供了lock声明和Thread.Join方法。

lock声明

public void CalcSquare1()  


{  


lock( typeof(SquareClass))  


{  



Square = Value * Value;  



}  


} 

lock可以得到一个对象引用的唯一锁,使用时只要将该对象传送给lock就行了。通过这个唯一锁,可以确保多个线程不会访问共享的数据或者在多个线程上执行的代码。要得到一个锁,可以使用与每个类关联的System.Type对象。System.Type对象可以通过使用typeof运算得到,如表7所示。

Thread.Join方法

相关推荐