2016-09-11 53 views
0

我有一個C++插件,用於Node,我必須將其包裝到小型js填充(庫)中,並將其與我的項目中的其他模塊一起使用。問題是,我必須爲這個插件保持單一狀態(它正在處理文件,打開大量的句柄等),所以當我在require它在一個文件中,並與它做一些操作,我可以肯定,當我將require它在另一個文件中它不會創建所有句柄並再次執行所有C++構造代碼。我怎樣才能實現這個?我想過在勻場庫中使用Singleton模式,但我讀過它們與module.export不搭配。這是真的嗎?我正在使用節點4.5+Node.js addon singleton

回答

0

只要單身人士去,你可以在C++層或JS層做。

在C++中,它只是一個創建/使用全局變量和使用這些全局變量的導出函數的問題。只要確保照顧可能出現的任何競爭條件,如果任何這些導出的C++函數執行任何類型的異步和/或多線程。

在JS中,只需創建C++插件導出的任何類的單個實例,並直接導出該相同對象,或者如果需要,導出代表用戶操作實例的函數。