-1

我在 Python 框架中有我的 Web 应用程序。我已经为复杂的计算编写了一个 C 函数。我想将 Python Handler 收到的查询作为参数传递给我的 C 函数,并以 HTML 格式呈现结果。

这不仅仅是从 Python 调用 C 函数,还有来自 Python 的许多并行请求,并且所有“C 线程”都应该共享一个公共资源。

如果我使用 Java,而不是 C,我会使用套接字和 Java 多线程来处理来自 Python 处理程序的并发请求。

我如何在 C 中做类似的事情?是否有用于 Python 到 C 的多线程库和套接字库?做它的标准方法是什么

4

1 回答 1

0

Python 是用 C 编写的,并且有一个非常完整的 C-API,您可以使用它来编写自己的 Python/C 函数。不幸的是,由于 GIL(全局解释器锁)python 永远不会有一个轻量级的多线程接口,但只要你小心返回的内容,C-API 中就没有这些限制。

如果这不吸引人,常见的替代品包括cythonctypes

Cython 是一种语言,它使为 Python 语言编写 C 扩展就像 Python 本身一样容易。

同时

ctypes 是 Python 的一个外来函数库。它提供 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。它可用于将这些库包装在纯 Python 中。

于 2013-02-27T10:27:44.433 回答