gpt4 book ai didi

multithreading - 微软的公寓类比 (STA, MTA) : Need help understanding it

转载 作者:行者123 更新时间:2023-12-02 08:50:13 25 4
gpt4 key购买 nike

我已经阅读了很多有关 Microsoft 的线程单元模型的信息,但我仍然无法将其可视化。

Microsoft 使用住在公寓中的生物类比。因此,对于 STA,请考虑以下内容(我知道这有点傻)。

  1. 假设线程 = 人,COMObject = 细菌。人住在公寓里,细菌就住在人体内。所以在 STA-Land 中,一个线程存在于 STA 中,而 COMObject 存在于线程内部,因此为了与 COMObject 交互,必须通过在 COMObject 的线程上运行代码来实现。

  2. 假设 thread = person 和 COMObject = cat。人住在公寓里,猫和人住在公寓里。 SO 在 STA-Land 中,线程和 COMObject 在同一层级。

Q1。上面哪个类比是正确的,或者如果都不正确,您会如何描述 STA?

Q2。您如何描述 MTA?

最佳答案

我不喜欢这些类比。它们令人困惑。

您创建了一个公寓。

如果它是一个 STA,则公寓中只有一个线程,因此该公寓中的所有对象都将在该单个线程上执行(因此该公寓中的对象没有并发执行)

如果它是 MTA,则该单元中可以有多个线程。因此,如果需要,MTA 中的对象需要显式实现同步。

一个物体住在一个公寓里。同一个公寓中可以有多个对象。

A very good read here

关于multithreading - 微软的公寓类比 (STA, MTA) : Need help understanding it,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014769/

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