1

我正在尝试在模块中使用 Python 来进行车辆总线系统的分析软件。为此,我必须以线程安全的方式嵌入 Python,因为可以有多个独立工作的模块实例。我可以使用互斥锁来保护对 Python 的所有访问,并为每个线程创建一个唯一的 (python) 模块。显然这是最简单的方法,但代价是无法跨多个内核扩展。或者我可以修改我的模块以生成实习生使用 Python 并通过共享内存连接到它们的新进程。这给我带来了性能损失,并花费了更多时间来实施,但规模很大。

我的问题:你认为女巫一更有意义吗?有没有其他方法可以嵌入 Python 线程安全,甚至可以扩展到多个内核。

亲切的问候莫里茨

编辑:我正在使用 CPython

4

2 回答 2

3

如果您受 CPU 限制,Python 只能使用多处理库扩展到多核。但是,如果您受 I/O 限制,那么线程通常就足够了。

如果您想要简单的线程安全,请使用 Queue 进行所有消息传递。

于 2010-10-15T14:25:00.467 回答
0

跟进我的问题:我继续使用 Processes 和实习生使用 Python 来实现它。可以在这里找到为什么多处理库没有帮助的好文本:http: //pkaudio.blogspot.com/2010/04/whey-multiprocessing-doesnt-always-work.html 这不是我自己写的,但那个人有和我一样的问题。我感谢所有试图帮助我的人。

于 2010-10-22T08:37:07.997 回答