`
chenqi210
  • 浏览: 76956 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[转MSDN]C# Thread.Abort

 
阅读更多

Some people says that Thread.Abort is evil.But the following is what the msdn says.


http://msdn.microsoft.com/en-us/library/system.threading.threadabortexception.aspx

using System;
using System.Threading;
using System.Security.Permissions;

public class ThreadWork {
    public static void DoWork() {
        try {
            for(int i=0; i<100; i++) {
                Console.WriteLine("Thread - working."); 
                Thread.Sleep(100);
            }
        }
        catch(ThreadAbortException e) {
            Console.WriteLine("Thread - caught ThreadAbortException - resetting.");
            Console.WriteLine("Exception message: {0}", e.Message);
            Thread.ResetAbort();
        }
        Console.WriteLine("Thread - still alive and working."); 
        Thread.Sleep(1000);
        Console.WriteLine("Thread - finished working.");
    }
}

class ThreadAbortTest {
    public static void Main() {
        ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
        Thread myThread = new Thread(myThreadDelegate);
        myThread.Start();
        Thread.Sleep(100);
        Console.WriteLine("Main - aborting my thread.");
        myThread.Abort();
        myThread.Join();
        Console.WriteLine("Main ending."); 
    }
}
 

 

分享到:
评论

相关推荐

    线程外部挂起恢复控制(不使用Suspend与Resume中止线程)

    本人利用Thread.Abort()与Thread.Interrupt()可以引起目标线程异常的特点,开发了一种不使用已过时的方法来变相从外部控制线程的挂起与恢复的技术,原理简单,方便理解。 相关技术参考:...

    angular.http.abort:如何使用 angular 1.2 &lt;= 中止 http 请求

    angular.http.abort 使用 angular 实现 http 请求中止和超时的示例。 如何开始: 安装 nodejs。 ( ) 安装依赖项 // npm install 在终端中输入 npm start 。 在浏览器中打开 。

    用U盘装系统出现“Decompression error,Abort“

    使用U盘装系统过程中,中途突然弹出错误警告:“Decompressionerror,Abort“,出现这种情况一般是由U盘与电脑USB接口松动或是U盘中的系统映像文件损坏导致,可以重新插拔U盘,换个系统文件试试。 本文来源于:u大师...

    node-abort-controller:基于EventEmitter的Node.JS的AbortController Polyfill

    节点异常终止控制器基于EventEmitter的Node.JS的AbortController Polyfill用法import fetch from 'node-fetch'import AbortController from 'node-abort-controller'const controller = new AbortController ( )...

    jquery ajax abort()的使用方法

    由于使用的是jquery,挡在手册里没有找到关于.abort()方法,在网上搜索了一下,在http://ooxx.me/jquery-ajax-abort.orz看到有关于jquery 里.abort()使用方法,直接用例子: 代码如下: current_request = $.get(‘/...

    threading in C# - C#线程

    Abort................................................................................................................................. 23 Thread State ...................................................

    EZ-USB 例程(C#)

    if (!bRunning) { value = Convert.ToInt32(StartValBox.Text); outCount = 0; inCount = 0; bRunning = true;... StartBtn.Text = "Stop";... tXfers.Abort(); tXfers.Join(); tXfers = null; } }

    .net c#线程超时解决方案

    .net C#线程超时的解决方案,使用的时候在被调线程入口调用一下这个方法就可以。更多详细代码见附件 Report.RegisterThread... thread.Abort(); } catch { } t.Dispose(); } } #endregion } #endregion

    .net C#线程超时

    .net C#线程超时的解决方案,使用的时候在被调线程入口调用一下这个方法就可以。更多详细代码见附件 Report.RegisterThread... thread.Abort(); } catch { } t.Dispose(); } } #endregion } #endregion

    C#多线程之线程控制详解

    停止:Thread.Abort();暂停:Thread.Suspend();继续:Thread.Resume(); private void btn_Start_Click(object sender, EventArgs e) { mThread.Start(); // 开始 } private void btn_Stop_Click(object sender, ...

    C++ thread退出线程 多线程 子线程控制退出主线程 window VS2017 Debug Error! Abort() has been called

    C++ thread退出线程 多线程 子线程控制退出主线程 window VS2017 Debug Error! Abort() has been called. C++ thread退出线程 多线程 子线程控制退出主线程 window VS2017 Debug Error! Abort() has been called.

    c# Winform 弹出式等待窗口,多线程

    网上有好多使用多线程弹出式等待窗口作为程序中较长时间后台运行提示的,但是做的都不完善,尤其是用 waitThread.Abort() 杀死线程时容易产生异常,进而出错。本程序是比较完善的改进,利用多线程弹出等待窗口,并...

    C#制作简单正则表达式测试器

    C#制作简单正则表达式测试器部分代码: namespace RegexTest { public partial class Rt : Form { public Rt() { InitializeComponent(); CheckForIllegalCrossThreadCalls = false; } private void btnPi_...

    C#例子代码 A0301_ThreadAbort

    C#例子代码 A0301_ThreadAbortC#例子代码 A0301_ThreadAbortC#例子代码 A0301_ThreadAbortC#例子代码 A0301_ThreadAbortC#例子代码 A0301_ThreadAbortC#例子代码 A0301_ThreadAbortC#例子代码 A0301_ThreadAbortC#...

    深入讲解xhr(XMLHttpRequest)/jsonp请求之abort

    但在前端开发过程中,不怎么重视xhr的abort(中止掉xhr请求,及表示取消本次请求)。往往会带来一些不可意料的结果。 比如:切换tab,发起xhr请求,渲染同一个列表。就这么简单的拉取数据渲染列表的功能,并且可以...

    Navicat Premium 16

    一键安装即可,无需激活码!!!! Navicat Premium 是一套数据库开发工具,让你从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL 和 SQLite 数据库。它与 Amazon RDS、Amazon ...

    C# AUTOCAD二次开发

    public ObjectId GetBlockTableRecordObjectId(string btrName) { ObjectId btrObjId = new ObjectId(); Database db = ... trans.Abort(); } finally { trans.Dispose(); } return btrObjId; }

    c#使用命名管道实现打印调试

    _thread.Abort(); _thread = null; } // 释放命名管道 if (_client != null) { _client.Close(); _client = null; } } // 发送数据 public static void WriteLine(string strInformation) { // 检查...

    仿MNS提示框C#源代码程序,带声音启动。string Sound = Application.StartupPath + "\\msg.wav";

    仿MNS提示框C#源代码程序,带声音启动。string Sound = Application.StartupPath + "\\msg.wav"; clsPalyWave.Play(Sound);Tpaly.Abort();VisualStudio2008创建

    C#聊天程序

    Thread.CurrentThread.Abort(); break; } case "02": { byte[] onlineBuff = SerializeOnlineList(); //先发送响应信号,用于客户机的判断,"11"表示服务发给客户机的更新在线列表的命令 clientSkt.Send(new...

Global site tag (gtag.js) - Google Analytics