VS6.0 で マルチスレッドのDBアクセスプログラムを作成しています。
現在、スレッドを起動し、スレッド内でデータベースオブジェクトを宣言、オープン、クローズしているだけなのにメモリが増えつづけてしまっています。
宣言方法等、何か問題がありましたら指摘ください。
(ちなみにスレッドから起動されたスレッドです。)
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
void __cdecl XXXApp::XXXThread( void* arg )
{
CDatabase m_DB;
m_DB.OpenEx( 接続文字列,
CDatabase::useCursorLib|CDatabase::noOdbcDialog );
if( m_DB.IsOpen() == TRUE ){
m_DB.Close();
}
_endthread();
}
◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎
すいませんがアドバイスをお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
_endthreadしているからでは?
まず,MFCであるならば_endthreadではなくAfxEndThreadを使うべきです。
ただし,_endthreadにしろAfxEndThreadにしろ,これらを呼び出した場合,自動変数のデストラクタは呼び出されません。
C++的には,_endthreadやAfxEndThreadの利用は厳禁です。
スレッド関数を抜けると,スレッドは自動的に終了します。
C++ではそれに任せるのが一番です。
この回答への補足
Yure-Kichiさん
回答ありがとうございました。
_endThread()をのけて試してみたのですが現象は同じでした。
スレッドの最後で
_CrtDumpMemoryLeaks();
をつけてヒープ領域に新たなメモリ確保を行っていないことは確かめられたのですがタスクマネージャーのメモリは増えていきます。
その他に考えられる要因や調査方法はありますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- MySQL AWSのRDSを無料枠で使用しておりますが、2日前にDBインスタンスを作成し、現在確認したらDBイン 1 2022/07/19 23:49
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マルチスレッドのスレッド数を...
-
スレッドの安全な終了のさせ方
-
VC++スレッドの正しい終了のさ...
-
マルチスレッドの実行順序の制御
-
スレッドの終了はどうやるんで...
-
pthread_cond_wait 取りこぼし?
-
特定のスレッドの破棄
-
VB2005 シリアル通信のClose処理
-
C++ GUIのメッセージループ。
-
Win32APIでのスレッド処理
-
volatile の使い方
-
参照カウンタについてその3
-
LinuxでDoEvents()同等機能
-
WaitForSingleObjectの使い方に...
-
マルチスレッドについて
-
クラス内でのpthread_createに...
-
Linuxでスレッド優先度って変え...
-
スレッドの監視方法について
-
マルチスレッドでの画像描画
-
msec単位のWait Timerが作れない!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
WaitForSingleObjectの使い方に...
-
マイクロソフトedge で5チャン...
-
スレッドの安全な終了のさせ方
-
スレッドの終了はどうやるんで...
-
スレッドにて同一メモリの書き...
-
スレッドの監視方法について
-
マルチスレッドについて
-
スレッドの終了の仕方
-
Linuxでスレッド優先度って変え...
-
Windows上で、シグナル(SIGTERM...
-
LinuxでDoEvents()同等機能
-
VB2005 シリアル通信のClose処理
-
待機関数(WaitForMultipleObjec...
-
マルチスレッドプログラミング...
-
_beginthreadexで生成したスレ...
-
msec単位のWait Timerが作れない!
-
別スレッドからメインダイアロ...
-
マルチスレッドのスレッド数を...
-
.NetのBackgroundWorkerクラス...
おすすめ情報