gpt4 book ai didi

c# - .NET 如何定义执行相同代码的线程之间的边界

转载 作者:行者123 更新时间:2023-11-30 13:50:58 25 4
gpt4 key购买 nike

当多个线程运行同一段代码时,CLR 如何设法让它们彼此越界。是 AppDomain 管理这些线程并定义不同线程之间的边界,即使它们可能作用于相同的代码(可能还有数据)?如果是怎么办?

TIA

最佳答案

简单;对于方法变量(不包括捕获变量、迭代器 block 等),变量在堆栈上。每个线程都有不同的堆栈。这与单线程上的递归方法没有什么不同 - 方法变量在每次调用时都是独立的。

对于堆上的对象...它不会!!。没有界限;没有保护。如果您没有正确同步等,您将损坏您的数据。

简而言之,这是你的工作。

关于c# - .NET 如何定义执行相同代码的线程之间的边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5312556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com