码迷,mamicode.com
首页 > 移动开发 > 详细

【记录一个问题】android下的ucontext协程,因为使用栈上的对象,导致cv::Mat被莫名析构

时间:2019-10-03 00:40:56      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:另一个   工作   线程   拷贝   androi   返回   唤醒   oid   一个   

工作的流程是这样:某个协程在栈上创建task对象,在task对象内有需要返回的cv::Mat。
然后把task放到另一个线程上去执行,然后切换到别的协程,等到工作线程执行完task后,再唤醒协程。
这时候协程内去访问cv::Mat使用是empty。

同样的代码,task对象不是在栈上创建,而是new出来,一切正常。

暂未找到原因,怀疑与栈的拷贝有关。其实也打印了使用各个阶段的指针的地址,发现地址未发生改变。

【记录一个问题】android下的ucontext协程,因为使用栈上的对象,导致cv::Mat被莫名析构

标签:另一个   工作   线程   拷贝   androi   返回   唤醒   oid   一个   

原文地址:https://www.cnblogs.com/ahfuzhang/p/11618781.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!