同一对象多次设置相同OpenCL回调会产生什么结果?
OpenCL多次设置同一对象回调函数的行为说明
- 该行为有明确规范,不属于未定义行为。根据OpenCL官方规范,针对同一对象(事件、内存对象、上下文等)多次调用回调注册函数时,所有注册的回调都会被执行。
- 回调的执行顺序与注册顺序相反:最后注册的回调会最先触发,最先注册的最后触发。
- 额外注意:
- 所有回调都会绑定到目标对象的生命周期,只有当对象被销毁时才会依次调用这些回调。
- 回调函数内部禁止调用可能引发死锁的OpenCL操作,比如尝试修改正在销毁的对象。
内容的提问来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

