所以我在node.js中添加了一个插件,如:http://nodejs.org/api/addons.html#addons_wrapping_c_objects。
但是:我的类有一个永久循环的pthread,并按照http://nikhilm.github.io/uvbook/threads.html中的建议通过uv_async_send()
执行回调。
这个回调函数需要访问非静态类变量,我通过设置:async.data = (void*) this;
和回调函数MyClass* obj = (MyClass*)(handle->data);
来实现,这样我就可以通过obj->myvar
访问数据了。
但是,在对象被破坏之后调用回调函数会发生什么。我想知道如何防止这种情况发生,最好不需要额外的javascript代码。
如果你想知道为什么回调需要访问成员变量:它是一个由单独的线程填充的缓冲区,它作为参数传递给javascript回调。
提前致谢。