關(guān)于回調(diào)函數(shù)的注意事項

設(shè)計中,我們常常遇到這樣的模型:有A、B兩個模塊,A模塊調(diào)用B模塊提供的API,然后B模塊完成任務(wù)后,調(diào)用A模塊注冊的回調(diào),通知A模塊任務(wù)完成。
需要考慮以下幾個問題:

  • 在回調(diào)函數(shù)里,通常不可以有阻塞性的操作。
  • 考慮添加性能統(tǒng)計。這樣如果回調(diào)時間太長影響了B的性能,B可以快速定位(甩鍋)。
  • 不要在B模塊的鎖里調(diào)用A模塊的回調(diào)函數(shù)。
  • 考慮將回調(diào)放到獨立的線程中去調(diào)用。
  • 如果B模塊有可能在A模塊調(diào)用B的API的同一線程,直接調(diào)用回調(diào),那么B模塊應(yīng)該在API中明確說清楚。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容