.NET:Thread 类怎么会被滥用,它不是密封的吗?

标签 .net multithreading security

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center为指导。




8年前关闭。




我试图理解为什么 System.Threading.Thread类是密封的。

我的猜测是 安全 - 有几种框架方法采用 Thread参数,即 Thread未密封,可以提供派生的恶意类型。但我想不出这种类型可以做的实际恶意事情。

你能想到例子吗?

最佳答案

我想如果某人的派生线程类要覆盖像 VolatileRead 和 VolatileWrite 这样的东西,人们可以想象可能会在整个 .NET 运行时使用它们,它们可能会造成一些损害。

也可能不是出于安全原因。可能是因为线程对于许多程序的运行至关重要,因此以不正确的方式实现它们将不得不对运行时的稳定性造成很高的成本。

编辑:可能没有性能优势,因为在密封类上调用虚拟方法时,编译器会发出 callvirt。 JIT 编译器可能会这样做,但我没有任何证据。

关于.NET:Thread 类怎么会被滥用,它不是密封的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14317417/

相关文章:

.net - F# 可以更新类中的不可变绑定(bind)(创建一个更改了指定绑定(bind)的新对象吗?)

c# - CaSTLe Windsor 在不创建实例的情况下解析服务实现类型

c# - 如何在字符串中搜索一个词,然后得到这个词后面的数字?

c# - 使用线程时出现内存不足异常

security - YouTube API v3 - 我真的需要使用 OAuth 进行基本的读取操作吗?

api - 如何防止任何人向我的服务器发送请求?

security - `--disable-web-security` 命令似乎不再起作用

java - 使用 AtomicReference 替换 ReadWriteLock 以实现非阻塞操作

multithreading - D 语言 - 线程与生成

ios - 使用 "performSelectorOnMainThread"在 iOS 上进行上下文切换