关于回调函数的注意事项

设计中,我们常常遇到这样的模型:有A、B两个模块,A模块调用B模块提供的API,然后B模块完成任务后,调用A模块注册的回调,通知A模块任务完成。
需要考虑以下几个问题:

  • 在回调函数里,通常不可以有阻塞性的操作。
  • 考虑添加性能统计。这样如果回调时间太长影响了B的性能,B可以快速定位(甩锅)。
  • 不要在B模块的锁里调用A模块的回调函数。
  • 考虑将回调放到独立的线程中去调用。
  • 如果B模块有可能在A模块调用B的API的同一线程,直接调用回调,那么B模块应该在API中明确说清楚。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容