Wil*_*ill 5 c python multithreading thread-safety python-c-api
我们正在开发一个小型c服务器应用程序 服务器应用程序执行一些数据处理并响应客户端.为了保持数据处理部分的可配置性和灵活性,我们决定使用脚本,并根据各种现成模块的可用性,我们决定使用Python.我们使用Python-C api在c和python之间发送/接收数据.
算法的工作原理如下: -
这个问题 ,我们所面临的问题是从不同的客户端进来的并发请求的情况下.当多个请求来自不同的客户端时,我们倾向于对象引用计数异常.请注意,对于为用户提供的每个请求,我们仅为该用户创建一个独立的字典.为了克服这个问题,我们包含了对PyRun_SimpleString()的调用; 在PyEval_AcquireLock()中; 和PyEval_ReleaseLock();,但这样做导致脚本执行是一个阻塞调用.因此,如果脚本需要很长时间才能执行,那么所有其他用户也在等待响应.
能否请您提出最好的方法,或指出我们哪里出错了.请告诉我更多信息.
任何帮助/指导将不胜感激.