首页 > 解决方案 > 将对象从 VBA 或 Python 之类的解释语言传递给在不同 cpu 内核上运行的其他代码如何安全?

问题描述

我最近看到了一些 VBA 代码(它是一种解释型语言)的示例,它定义了一个对象并将其传递给 python 进程,并且 python 在 VBA 对象上执行方法。

确切的代码并不重要,购买我对过程的理解是它是这样的:

我不明白这怎么不会导致崩溃;在线程 1 上运行的 VBA 解释器需要由另一个线程调用。为什么第二个线程访问解释器是安全的,它不会中断某些东西并导致状态损坏?什么是同步事物?

Python也是解释型的,一定有类似的问题;如果它将一个对象传递给一个完全不知道的进程,例如一些不知道 python 内部工作的 C# exe,并且将尝试在没有任何好的互斥锁和锁定以使其安全的情况下访问解释器。VBA 是一种不支持编写多线程代码的旧语言,那么是否有其他机制可以保护解释器同时免受来自多个内核的调用?

标签: pythonvbamultithreadingmultiprocessinginterpreter

解决方案


推荐阅读