我有一個兩個線程之間共享的關鍵部分:全局變量的初始化和終結
TCriticalSection lock_measDataBuff;
我宣佈這個變量作爲全球。現在,因爲德爾福樣式類必須使用new運算符來構造,我在上面的聲明作如下修改:
TCriticalSection *lock_measDataBuff;
,其中使用new運算符來初始化鎖變量的最佳地點?使用操作符刪除來確定全局變量的最佳位置在哪裏?它應該是WinMain方法嗎?其中一個訪問鎖定變量的類的構造函數?或者在代碼中的其他地方?
這些工作線程是按需要在有限的時間內創建的。不幸的是我的線程有屬性「FreeOnTerminate」設置。在我打電話給「終止」方法後,我不再對它們感興趣。您的建議將需要對代碼進行較小的更改,例如在線程上調用「WaitFor」,然後調用「delete」。但是如何解決這個問題是一種方法。我會考慮這個。我只是想,如果C++ Builder對Delphi中的「初始化」和「最終化」塊有一些類比。這對我來說會更簡單。 – truthseeker