gpt4 book ai didi

C 回调函数可以同时运行吗?

转载 作者:行者123 更新时间:2023-11-30 17:36:13 25 4
gpt4 key购买 nike

我正在研究树莓派相机模块接口(interface),它涉及一个回调函数,您将其注册到mmal缓冲区,并且每次抓取帧时都会运行它。

当先前运行的回调函数未及时完成时,另一个帧到达的情况出现了我的困惑。

假设我们给某个循环一个回调函数,该函数将在某个事件发生时运行。如果上次发生该事件时调用的回调函数尚未完成其工作,那么当下一个事件到达时会发生什么?当前一个回调函数仍在运行时,相同的回调函数是否可以开始运行(就像另一个线程?)?我怀疑会这样,但我必须询问才能理解。

最佳答案

这取决于调用回调的软件的实现。

最有可能的是,它不会在每次接收到一帧时启动一个线程,并在等待下一帧之前等待回调的返回。

您还需要查看 mmal 缓冲区文档(和/或代码)以了解它是如何工作的以及是否需要在回调中包含线程安全代码。

关于C 回调函数可以同时运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com