C#语言有很多值得学习的地方,这里我们主要介绍C#同步线程,包括介绍lock声明和Thread.Join方法等方面。
成都创新互联专业为企业提供辽阳县网站建设、辽阳县做网站、辽阳县网站设计、辽阳县网站制作等企业网站建设、网页设计与制作、辽阳县企业网站模板建站服务,10多年辽阳县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
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方法
- private void button1_Click(object sender, System.EventArgs e)
- {
- SquareClass oSquare =new SquareClass();
- t2 = new Thread(new ThreadStart(oSquare.CalcSquare));
- oSquare.Value = 30;
- t2.Start();
- if( t2.Join (500) )
- {
- MessageBox.Show(oSquare.Square.ToString ());
- }
- }
Thread.Join方法可以等待一个特定的时间,直到一个线程完成。如果该线程在指定的时间内完成了,Thread.Join将返回True,否则它返回False。在上述平方的例子中,如果不想使用触发事件的方法,可以调用Thread.Join的方法来确定计算是否完成了。以上介绍C#同步线程。
当前名称:C#同步线程详细概述
文章链接:http://www.36103.cn/qtweb/news21/20621.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联