簡體   English   中英

基於插件的程序中的 FFTW 可重入性

[英]FFTW reentrancy in plug-in based programs

我正在開發一個跨平台應用程序(Win / Mac / Linux)。 此應用程序將我無法控制的插件加載為動態庫,這些插件可能會做各種事情,主要是音頻和圖像處理。

其中一些插件可能使用 FFTW 作為其實現細節的一部分。 (這不是一個假設的案例——我已經有了其中的三個)。 但是,FFTW 的 function 的 fftw_plan 系列不是根據文檔可重入的 - 它們只能由單個線程調用。 問題是我可以加載的一些插件可能會在他們自己創建的某個線程的深處調用 fftw_plan。

我可以做些什么來確保在這種情況下一切正常,還是我應該接受這最終會崩潰? (遺憾的是,將每個插件放在自己的進程中對我來說不是一個可接受的解決方案)。

事實證明,FFTW 提供了void fftw_make_planner_thread_safe(void) function 確保插件能夠在單獨的線程中運行計划。

在程序開始時調用它就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM