【发布时间】:2013-11-25 08:04:19
【问题描述】:
我编写了一个无窗口 NPAPI 插件,我将在 Web 浏览器 JavaScript 调用的插件函数中执行一些持久的操作(例如,发送带有图像数据的 http post 请求)。
为了防止网络浏览器挂起,我为每个冗长的操作创建一个工作线程。
我的问题是,如果浏览器在仍有工作线程运行时关闭, 如何防止我的插件实例在工作线程完成之前被销毁(在 NPP_Destroy 中?)?
对于 ActiveX 控件,我只需在每次启动/完成工作线程时添加/释放插件实例的引用计数。但是对于 NPAPI 插件,引用计数仅针对 NPObject(通过 NPN_CreateObject 创建)而不是插件实例本身。现在我很困惑。
任何帮助将不胜感激。
【问题讨论】:
标签: multithreading npapi browser-plugin