我用C++編寫了一個工具,使用GUI和IBM ILOG Cplex的wxWidgets來解決優化問題。如何避免C++中的多線程問題(wxWidgets和Cplex)?
在由wx事件處理程序調用的其中一個函數中,我調用了本身是多線程代碼的IBM ILOG Cplex Optimizer。
我意識到這會導致非感性內存內容的不確定性錯誤。
因爲我在編寫多線程代碼中沒有的遭遇,想矇混過關,而不度過三週,他學習如何做到這一點,我想知道:
是否有一些安全的,可能是不雅觀的方式在這裏避免問題? (比起寫一個文件到光盤,通過操作系統調用一個不同的任務,並將輸出讀回來更優雅,也許。
從wx線程啓動Cplex線程是不是一個好主意?
使用兩個庫可能在內部使用不同的庫來實現多線程通常是一個壞主意嗎? (我不知道除了pthread和cplex或wx使用的是什麼之外)。
任何幫助和背景信息表示讚賞。
我不知道如何回答你的問題一般,但你可以控制CPLEX通過IntParam線程使用的線程數。 – raoulcousins