返回信息流项目里用了多线程技术(我不是很了解)大致是有一个线程调度器去管理整个大项目的运行。
我碰到的问题是,在我写一个函数里,执行了函数的第一句然后就return出去,回到线程调度器了。也就是没有执行函数就退出了。感觉像是被线程调度直接中止掉了。
我还不懂C++的多线程是怎么做的,请问存在这种可能么?
有没有一些关于C++多线程的学习资料推荐的?
。[ema23][ema23]
这是一条镜像帖。来源:北邮人论坛 / cpp / #101430同步于 2021/11/16
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
C++多线程编程问题
changhea
2021/11/16镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
你说这种情况可能性比较小,除非是有意为之,我列几种我知道的点哈:
1:你搞错了。不是开玩笑,如果你是通过看 log 发现的这点的话,有可能是多个线程的 log 打在一起,你误以为是这个线程的代码出去了;
2:线程所在进程挂了,导致线程也被杀;
3:如果你所谓的线程调度中心有执行 interrupt 操作的话,在你具体执行任务的线程中的一些 interruptable 的点(比如 sleep)会被打断而返回。
就第一点的话,建议在 log 里把线程号打出来,只看这一个线程的 log;第二点的话可以看下有没有 coredump 生成;第三点只能通过代码确认是否有这样的操作了。
感谢各位的回复。谢谢3 4 6楼的热心解答。很有帮助。
回复一下前两楼,并行代码有很多,我其实也不知道那些是跟问题相关的。并且由于一些其他的问题,没有办法放出来代码,很抱歉,其实是我太菜了,我也不知道那些并行的代码跟我的问题有关。