我目前正在研究声音信号可视化器。得到信号后,我需要在两个不同的窗口上绘制它的波形和频谱。因此我实现了一个 Plotter 类,它在构造时为每个实例创建自己的线程。但是现在我遇到了麻烦,因为 FLTK 的许多功能似乎是线程不安全的,因为它在某些类方法调用时崩溃。(如设置轴刻度)
我现在使用的模型:
Plotter 1 -> ctor() -> create thread
                                     \
Plotter 2 -> ctor() -> create thread----> PlotterThread(Plotter*this) - 
                                     /                                |
Plotter 3 -> ctor() -> create thread                                  |
                                                                      |
                                                     create fltk window and init object 
这种模式是否可行?我现在不知道......谢谢。