我用C++编写了一个工具,使用GUI和IBM ILOG Cplex的wxWidgets来解决优化问题。如何避免C++中的多线程问题(wxWidgets和Cplex)?
在由wx事件处理程序调用的其中一个函数中,我调用了本身是多线程代码的IBM ILOG Cplex Optimizer。
我意识到这会导致非感性内存内容的不确定性错误。
因为我在编写多线程代码中没有的遭遇,想蒙混过关,而不度过三周,他学习如何做到这一点,我想知道:
是否有一些安全的,可能是不雅观的方式在这里避免问题? (比起写一个文件到光盘,通过操作系统调用一个不同的任务,并将输出读回来更优雅,也许。
从wx线程启动Cplex线程是不是一个好主意?
使用两个库可能在内部使用不同的库来实现多线程通常是一个坏主意吗? (我不知道除了pthread和cplex或wx使用的是什么之外)。
任何帮助和背景信息表示赞赏。
我不知道如何回答你的问题一般,但你可以控制CPLEX通过IntParam线程使用的线程数。 – raoulcousins