C#中如何终止线程?

2024-04-26

我想尝试使用 C# 进行线程处理,我了解一些有关 C 线程处理的知识。

所以我只是想问我是否想终止一个线程,我应该这样做smt.Abort()或者函数结束后它会“自杀”?

另外,有没有类似的东西pthread_exit()在 C 中 在 C# 中?


Thread.Abort将“杀死”线程,但这大致相当于:

场景:您想要关闭计算机

解决方案:将炸药绑在计算机上,点燃它,然后运行。

最好通过以下方式触发“退出条件”CancellationTokenSource.Cancel,设置一些(安全访问的)“正在运行”布尔值等,然后调用Thread.Join。这更像是:

场景:您想要关闭计算机

解决方案:单击“开始”、“关闭”,然后等待计算机断电。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C#中如何终止线程? 的相关文章

  • 是否允许将类模板类型参数键入相同的名称?

    这似乎可以在 MSVC 中按预期编译甚至工作 但它是合法的 C 代码吗 它是否能保证执行此处所期望的操作 即将模板类型导出到结构体的同名用户 template
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 用户控件内所有控件均为空

    我有一个 UserControl 它使用 UserControl 以及其他控件 In the ascx文件我有以下代码
  • 访问“if”语句之外的变量

    我怎样才能使insuranceCost以外可用if陈述 if this comboBox5 Text Third Party Fire and Theft double insuranceCost 1 在 if 语句之外定义它 double
  • 导出类时编译器错误

    我正在使用 Visual Studio 2013 但遇到了一个奇怪的问题 当我导出一个类时 它会抛出 尝试引用已删除的函数 错误 但是 当该类未导出时 它的行为会正确 让我举个例子 class Foo note the export cla
  • Paradox 表 - Oledb 异常:外部表不是预期的格式

    我正在使用 Oledb 从 Paradox 表中读取一些数据 我遇到的问题是 当我将代码复制到控制台应用程序时 代码可以工作 但在 WinForms 中却不行 两者都以 x86 进行调试 我实际上只是复制代码 在 WinForms 应用程序
  • 有没有办法使用 i387 fsqrt 指令获得正确的舍入?

    有没有办法使用 i387 fsqrt 指令获得正确的舍入 除了改变精确模式在 x87 控制字中 我知道这是可能的 但这不是一个合理的解决方案 因为它存在令人讨厌的重入型问题 如果 sqrt 操作中断 精度模式将出错 我正在处理的问题如下 x
  • 您可以在一个 Windows Azure 实例上部署多个 Web 应用程序吗?

    是否可以在一个 windows azure 小型计算实例中运行一堆 Web 应用程序 我正在考虑使用 Azure 作为放置一堆处于开发和非生产状态的项目 Web 应用程序 的地方 有些实际上已经被封存了 但我想在某个地方有一个活跃的实例 我
  • 更改 IdentityServer4 实体框架表名称

    我正在尝试更改由 IdentityServer4 的 PersistedGrantDb 和 ConfigurationDb 创建的默认表名称 并让实体框架生成正确的 SQL 例如 而不是使用实体IdentityServer4 EntityF
  • 从事务范围调用 WCF 服务方法

    我有这样的代码 using TransactionScope scope TransactionScopeFactory CreateTransactionScope some methodes calls for which scope
  • 正确使用“extern”关键字

    有一些来源 书籍 在线材料 解释了extern如下 extern int i declaration has extern int i 1 definition specified by the absence of extern 并且有支
  • .NET JIT 编译的代码缓存在哪里?

    NET 程序首先被编译为 MSIL 代码 当它被执行时 JIT编译器会将其编译为本机机器代码 我想知道 这些JIT编译的机器代码存储在哪里 它只存储在进程的地址空间中吗 但由于程序的第二次启动比第一次快得多 我认为即使在执行完成后 该本机代
  • 使用(linq to sql)更新错误

    我有两个表 通过外键 CarrierID 绑定 Carrier CarrierID CarrierName CarrierID 1 CarrierName DHL CarrierID 2 CarrierName Fedex Vendor V
  • 如何使用收益返回和递归获得字母的每个组合?

    我有几个像这样的字符串列表 可能有几十个列表 1 A B C 2 1 2 3 3 D E F 这三个仅作为示例 用户可以从几十个具有不同数量元素的类似列表中进行选择 再举个例子 这对于用户来说也是一个完全有效的选择 25 empty 4 1
  • 如何访问窗口?

    我正在尝试使用其句柄访问特定窗口 即System IntPtr value Getting the process of Visual Studio program var process Process GetProcessesByNam
  • TPL 数据流块下游如何获取源生成的数据?

    我正在使用 TPL Dataflow 处理图像 我收到处理请求 从流中读取图像 应用多次转换 然后将生成的图像写入另一个流 Request gt Stream gt Image gt Image gt Stream 为此 我使用块 Buff
  • 从有符号字符转换为无符号字符然后再转换回来?

    我正在使用 JNI 并有一个 jbyte 类型的数组 其中 jbyte 表示为有符号字符 即范围从 128 到 127 jbyte 表示图像像素 对于图像处理 我们通常希望像素分量的范围为0到255 因此 我想将jbyte值转换为0到255
  • 启动画面后主窗口出现在其他窗口后面

    我有一个带有启动屏幕的 Windows 窗体应用程序 当我运行该应用程序时 启动屏幕显示正常 消失并加载应用程序的主窗体 但是 当我加载主窗体时 它出现在包含该应用程序的 Windows 资源管理器目录下 这是运行启动画面然后运行主窗体的代
  • c# 模拟 IFormFile CopyToAsync() 方法

    我正在对一个异步函数进行单元测试 该函数将 IFormFile 列表转换为我自己的任意数据库文件类列表 将文件数据转换为字节数组的方法是 internal async Task
  • 新的 .NET 6 控制台模板中的 C# 函数重载不起作用

    我在尝试重载该函数时遇到错误Print object in the 新的 NET 6 C 控制台应用程序模板 https learn microsoft com en us dotnet core tutorials top level t

随机推荐

  • CUDA Visual Studio 2010 Express 构建错误

    我正在尝试在 64 位 Windows 7 上使用 Visual Studio 2010 Express 在 Windows 上开始 CUDA 编程 我花了一段时间来设置环境 然后我刚刚编写了我的第一个程序 helloWorld cu 目前
  • EntityDataSource 在查询中将 * 替换为 % 通配符

    我有一个在很多地方使用 EntityDataSource 的应用程序 在 EDS 中 我根据 TextBox 中的用户输入手动构建Where 子句 我希望用户在查询数据时能够输入 星号 而不是 有没有像使用 Entity SQL 或 EDS
  • .crx 文件在 Chrome 中安装

    我刚刚创建了一个非常简单的 chrome 扩展 它运行良好 但是当我转换为 crx 文件并尝试用 chrome 打开它时 没有任何反应 我的chrome浏览器版本是19 0 1081 2 dev m 我的扩展使用jquery 1 4 2 m
  • NSFileHandle writeData:异常处理

    这可能是一个相当广泛的问题 但我找不到任何在线资源来解决或解释这个问题 问题是创建后NSFileHandle writer NSFileHandle fileHandleForWritingAtPath path 当你使用 writer w
  • Pandas.DataFrame interpolate() 方法='线性'和'最近'返回尾随 NaN 不一致的结果

    我在探索pandas DataFrame interpolate 用不同的方法 linear vs nearest 当尾部缺少数据时 我发现这两种方法的输出不同 例如 import pandas as pd version 0 16 2 o
  • Ruby on Rails 3:如何分别检索 POST 和 GET 参数?

    我知道你可以使用获取参数params 但问题是它合并了所有参数 无论它们是通过GET or POST 如果您通过以下方式发送请求GET 没问题 参数只能挤在URL里 但如果你发送一个POST具有类似 URL 的请求 blabla foo b
  • Puppeteer 无法在谷歌云功能中工作

    Puppeteer 无法在谷歌云中工作 镀铬错误如图所示 我已经在这里实施了该建议 Heroku 上的 Puppeteer 错误 找不到 Chromium https stackoverflow com questions 74385208
  • 致命信号11(和引擎项目)

    我正在创建由 andengine 框架提供支持的 android 游戏 box2d 扩展我收到 致命信号 11 这似乎是突然发生的 我想你可以随机称呼它 没有任何线索 至少 我不知道有任何线索可以帮助我解决这个问题 我的猜测是 1 我正在使
  • ASP.Net MVC 部分视图保持其模型状态?

    这可能又是一个新手问题 当我创建 ASP NET MVC2 应用程序时 会创建一个具有操作登录的帐户控制器 如下所示 HttpPost public ActionResult LogOn LogOnModel model string re
  • Laravel - 重定向到页面并滚动到页面底部

    我使用 Laravel 框架 在我的控制器中我有 return Redirect route home 这是重定向到主页 但我想实现页面在重定向时向下滚动以查看页脚 就像是href home footer 有办法吗 您可以生成路由的 URL
  • 如何在Python中一次读取一个字符串中的一个字母

    我需要将用户输入的字符串转换为莫尔斯电码 我们的教授希望我们这样做的方法是从 morseCode txt 文件中读取 将 morseCode 中的字母分成两个列表 然后将每个字母转换为莫尔斯电码 当有空格时插入新行 我有开始 它的作用是读取
  • 解析 Roslyn 中的嵌入表达式

    我正在尝试为类似 QML 的标记语言编写一个解析器 并且我希望允许在标记中使用 C 表达式 因此 一个示例可能如下所示 ClassName Property1 10 Property2 Math Sqrt 123 Property3 str
  • 如何通过 Rails 导入地图使用刺激组件

    我想将此刺激组件包含到我全新的 Rails 7 应用程序中 https www stimulus components com docs stimulus dropdown https www stimulus components com
  • 有没有办法让VS2010发布向导在发布网站时复制App_offline.htm?

    看到后汉塞尔曼 你做错了 视频 http www hanselman com blog WebDeploymentMadeAwesomeIfYoureUsingXCopyYoureDoingItWrong aspx我开始使用网络发布 htt
  • 有没有办法重命名已部署的 ClickOnce 应用程序?

    我的公司有一个 ClickOnce 应用程序 我们的客户已经使用该应用程序大约一年了 我们正在进行品牌重塑 并希望更改应用程序的名称 但是 仅更改 Visual Studio 中的所有正常名称选项 然后构建新的部署显然会更改现有应用程序正在
  • 在 Azure Pipelines 构建中使用 Azure Repos git 模块源进行身份验证

    我目前正在为 Azure DevOps 创建一个管道 以验证 Terraform 配置并将其应用到不同的订阅 我的 terraform 配置使用模块 这些模块 托管 在与 terraform 配置相同的 Azure DevOps 项目中的其
  • RGBA格式HEX转换成RGB格式HEX? PHP

    我想在 RGBA 格式的十六进制颜色之间来回转换 例如0xFF0000FF 和 RGB 格式的十六进制颜色 例如0xFF0000 在 PHP 中 我怎样才能做到这一点 这两个函数将满足您的需要 function rgbaToRgb rgba
  • MongoError:池正在耗尽,在集成测试中使用 MongoMemoryServer 时禁止新操作

    我在用着MongoMemoryServer编写集成测试 我有两个集成测试文件 当我运行 IT 测试时 我看到以下内容 我不明白为什么 我正在使用 jestjs 测试框架 当我有两个 IT 测试文件时 我看到以下错误 MongoError p
  • Windows 相当于 Mac OS X“打开”命令

    刘畅在这里问了一个与此非常相似的问题 Linux 相当于 Mac OS X 打开 命令 https stackoverflow com questions 264395 linux equivalent of the mac os x op
  • C#中如何终止线程?

    我想尝试使用 C 进行线程处理 我了解一些有关 C 线程处理的知识 所以我只是想问我是否想终止一个线程 我应该这样做smt Abort 或者函数结束后它会 自杀 另外 有没有类似的东西pthread exit 在 C 中 在 C 中 Thr