当前位置: 首页 > news >正文

浙江网站建设与维护书加强服务保障 满足群众急需需求

浙江网站建设与维护书,加强服务保障 满足群众急需需求,网站建设平台推广,途牛网站建设的特点C调用Python脚本进行18次循环操作后,脚本不执行 现象: 发送端接收端 从第二张图中可以看出,python脚本卡在’[parkin_debug] 6’与’[parkin_debug] 7’之间 该测试经过多次反复测试,均在第18次循环执行时,出现上述问…

C++调用Python脚本进行18次循环操作后,脚本不执行

现象:

发送端接收端
请添加图片描述请添加图片描述

从第二张图中可以看出,python脚本卡在’[parkin_debug] 6’与’[parkin_debug] 7’之间
该测试经过多次反复测试,均在第18次循环执行时,出现上述问题

解决办法

在python解释器初始化位置加入以下多线程支持

PyEval_InitThreads();   //开启多线程支持
int nInit = PyEval_ThreadsInitialized();    //检测线程支持是否开启成功
if (nInit){PyEval_SaveThread();    //因为调用PyEval_InitThreads成功后,当前线程就拥有了GIL,释放当前线程的GIL。
}

在调用python脚本加入以下代码

int nHold = PyGILState_Check() ;   //检测当前线程是否拥有GIL
PyGILState_STATE gstate;
if (!nHold){gstate = PyGILState_Ensure();   //如果没有GIL,则申请获取GIL
}
Py_BEGIN_ALLOW_THREADS;
Py_BLOCK_THREADS;

在调用python脚本加入以下代码

Py_UNBLOCK_THREADS;
Py_END_ALLOW_THREADS;
if (!nHold) {PyGILState_Release(gstate);    //释放当前线程的GIL
}

问题分析

我使用C++调用python脚本的方式

//=================== 在main.cpp中初始化解释器 ===================
wchar_t *program = Py_DecodeLocale("parkin_python", NULL);
if (program == NULL) {fprintf(stderr, "Py_DecodeLocale fail\n");return -1;
}
Py_SetProgramName(program);
Py_Initialize();    //初始化Python环境
if ( !Py_IsInitialized()) { //检测是否初始化成功return -2;
}//=================== 在**.cpp中调用python脚本 ===================
... python模块、函数和函数参数 初始化
PyObject* ret_py_final_estimates = PyObject_CallObject(pyfun_algorithm_mlem, args);
... python模块、函数和函数参数 释放

通过检索以下参考链接,尝试以下方式,发现可行,具体问题还在调研中。。。

C++调用Python脚本还可以通过QProcess调用,而通过管道进行数据传输。

参考链接

C++ 多线程调用Python脚本
记用C++调用Python函数时遇到的一个死锁
C++子线程中调用python代码

http://www.hrbkazy.com/news/38777.html

相关文章:

  • 杭州做微信网站软件公司怎么在百度上推广自己
  • 景观规划设计公司seo优化啥意思
  • o2o网站建设提高工作效率总结心得
  • 鞍山做网站的小说关键词自动生成器
  • 做网站的公司哪家最好怎么引流怎么推广自己的产品
  • 汕头网站建设stqhcxseo检测优化
  • 旬阳做网站惠州网络推广
  • 一品威客下载百度seo优化教程免费
  • 在百度上怎么卖自己的产品seo推广营销靠谱
  • 网站自定义代码百度收录的网页数量
  • 自己建网站卖东西怎么样简阳seo排名优化课程
  • 做短租有哪些网站seo服务建议
  • 什么网站可以做批发鞋子百度产品有哪些
  • 自己做网站卖网页制作代码html制作一个网页
  • 如何优化网站导航seo服务外包
  • 网站 php java成都网多多
  • 网页设计报价表上首页的seo关键词优化
  • 网站文章防复制加版权国外免费ip地址
  • wordpress 煎蛋网插件优化疫情防控措施
  • 网站备份文件公司做个网站多少钱
  • 什么网站做免单衣服成都网络营销策划
  • 手机单页网站生成系统seo推广绩效考核指标是什么
  • 怎么更新电脑的wordpress西安seo引擎搜索优化
  • 网站在线客服软件nba今日数据
  • 我要建设一个网站网络营销的重要性与意义
  • 苏州网站设计服务百度品牌广告是什么
  • 车墩做网站公司网站seo批量查询工具
  • 新乐网站建设网站建设方案范文
  • 网站后台链接怎么做千网推软文推广平台
  • 网页设计薪资多少qq群排名优化软件官网