0
我遇到了一個奇怪但可以理解的錯誤解決方案,但我無法自己弄清楚。我創建線程System::Threading::Thread
這樣運行功能:使用openmp並行化中止線程
try
{
perform_adapt_rgb(alg);
Control::Invoke(adpt_deg2);
}
catch (ThreadAbortException^ e)
{
Control::Invoke(adpt_deg2);
//Thread::ResetAbort();
}
我不是粘貼整個事情,因爲它沒有任何意義,使之複雜化。調用更新我的UI .. void perform_adapt_rgb(int alg);函數封裝OMP循環,我試圖通過線程 - > Abort()從UI中終止進程。功能。在visual studio內測試一切正常,但如果從exe文件執行,它顯示應用程序沒有響應 - >等待解決方案,關閉對話框。現在我的猜測是,迫使OMP-ed for循環意外結束是導致問題的原因,但是我不完全確定,因爲它在VS中可以調試它。沒有OMP,一切正常。有人能指出我的解決方法嗎?