.NET多线程技术详解(2) 创建、终止线程

http://www.iwebtrados.com.cn/post/48.html

System.Threading 命名空间提供支持多线程编程的类和接口,使您可以轻松地执行创建和启动新线程,同步多个线程,挂起线程以及中止线程等任务。

Thread类有几个至关重要的方法,描述如下:
Start():启动线程;
Sleep(int)
:静态方法,暂停当前线程指定的毫秒数;
Abort()
:通常使用该方法来终止一个线程;
Suspend()
:该方法并不终止未完成的线程,它仅仅挂起线程,以后还可恢复;
Resume()
:恢复被Suspend()方法挂起的线程的执行;

(1) 创建

若要在 C# 代码中合并线程处理,只需创建一个将在主线程外执行的函数,并让一个新的 Thread 对象指向该函数即可。

    System.Threading.Thread newThread;

newThread = new System.Threading.Thread(anObject.AMethod); //创建线程实例newThread,其指向anObject对象的AMethod方法

 

newThread.Start();//启动线程

下面以一个实际运用的例子介绍线程基本操作。此示例目的是将一个大规模的运算置于后台进行。

    using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Threading;

 

namespace ThreadStudyw

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            Thread t=new Thread(new ThreadStart(this.s));

            t.Start();//如果不以辅助线程执行s函数,窗体将处于等待状态,无法响应请求,待执行完成后方在标签上显示“结束了”

           //而以辅助线程后台执行,则直接执行显示“结束了”

            label1.Text = "结束了";

           

        }

        private void s()

        {

           

            for(int i=0;i<100000;i++)

                for (int j = 0; j < 1000000; j++)

                {

 

                }

        }

    }

}

2)终止

正常情况下,当函数执行完,辅助线程自动终止。

也可以调用Abort()方法,终止线程,该方法将引发ThreadAbortException异常。

Abort 方法不直接导致线程中止,因为目标线程可捕捉 ThreadAbortException 并在 finally 块中执行任意数量的代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值