No.1ベストアンサー
- 回答日時:
スレッドは自分自身で能動的に終了すべきです。
他のスレッド(ご質問のケースではプライマリスレッド)から「殺す」べきではないのです。
なぜかというと、スレッドが死ぬときに、スレッド自身が自分自身の中で確保した資源(たとえばメモリ領域とか、他のプロセスや他のスレッドとの排他制御を目的としたセマフォなど)を開放しなきゃいけないことを知っているのは、ほかならぬそのスレッドですから。
ということで、Tipをアドバイスしますね。
・プライマリスレッドが死んで欲しいスレッドに対して、「死んで欲しいんだけど」とお知らせします。単純な例では、グローバル変数に「死んで欲しい」フラグを定義し、死んで欲しくなったらフラグをONにします。
・死ぬほうのスレッドは、あるタイミングで(あると言っているのは、あなたの設計に依存するという意味です。)、「死んで欲しい」を検出できるようにしておいて、検出したら自ら必要とされる後始末をおこなって、綺麗に死んでいきます。このとき、ご質問の例では、_endthread()を呼び出します。
お解りいただけたでしょうか?
参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- その他(コンピューター・テクノロジー) Ubuntu22.04ltsですが、たまにYou Tubeを聴いたり観たりしていると、無限ループでコ 2 2023/07/21 13:19
- その他(プログラミング・Web制作) Windows上のプログラム。「予め決められた時刻に自分で起動して処理して自分で終了する」って可能? 3 2023/01/04 14:29
- ノートパソコン Windows11搭載パソコン 新規購入にあたって 4 2022/11/09 18:11
- その他(プログラミング・Web制作) マウスオーバー→ホイール回転でスクロールできない 2 2022/10/31 10:06
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- 高齢者・シニア Windows11適用の最低性能に満たないPC利用者がサポート終了でパソコンを買い替えるでしょうか? 2 2023/05/27 06:43
- デスクトップパソコン windows7を使っているパソコンでの質問です。先日動作が遅く再起動かけると「windowsを起動 9 2022/06/16 21:31
- フリーソフト タスクソフト? 1 2023/01/14 07:52
このQ&Aを見た人はこんなQ&Aも見ています
-
賃貸で可能な古民家風レトロな部屋作りのコツ!改めて知る畳の高い機能性と魅力も紹介
畳の部屋を雰囲気のよい部屋に仕上げたい!賃貸住宅でもできる古民家風のレトロな部屋作りのコツを伺った。
-
(マルチスレッド)_beginthreadexに複数の引数を渡す
C言語・C++・C#
-
スレッドの安全な終了のさせ方
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
-
4
CString から LPCTSTRの型に変換
C言語・C++・C#
-
5
絶対パスの取得について
C言語・C++・C#
-
6
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
7
C言語での引数の省略方法
C言語・C++・C#
-
8
CloseHandle()
C言語・C++・C#
-
9
CString型の文字列連結について
C言語・C++・C#
-
10
Linuxでのスレッド間メッセージについて
C言語・C++・C#
-
11
MFC ダイアログ上のID取得について
C言語・C++・C#
-
12
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
13
ファイルから読み取った改行文字を消す方法
C言語・C++・C#
-
14
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
15
define で 配列
C言語・C++・C#
-
16
LINK : fatal error LNK1104について
C言語・C++・C#
-
17
_beginthread()の使用について
C言語・C++・C#
-
18
C言語 配列の長さの上限
C言語・C++・C#
-
19
VC++でUTF-8のファイルを出力したい
C言語・C++・C#
-
20
_beginthreadexで生成したスレッドの返り値を取得する方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
スレッドの安全な終了のさせ方
-
VC++スレッドの正しい終了のさ...
-
スレッド・アウェア(thread-awa...
-
スレッドの監視方法について
-
スレッドの終了はどうやるんで...
-
C++ GUIのメッセージループ。
-
マルチスレッド?
-
volatile の使い方
-
スレッドの名前の取得について
-
C言語で一定時間待機後、再実行
-
別スレッドからメインダイアロ...
-
LinuxでDoEvents()同等機能
-
Linuxでスレッド優先度って変え...
-
pthread_attr_tへの値の代入に...
-
マルチスレッドプログラミング...
-
マルチスレッドについて
-
マルチスレッドでの画像描画
-
Win32APIでのスレッド処理
-
VB2005 シリアル通信のClose処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
WaitForSingleObjectの使い方に...
-
マイクロソフトedge で5チャン...
-
スレッドの安全な終了のさせ方
-
スレッドの終了はどうやるんで...
-
スレッドにて同一メモリの書き...
-
スレッドの監視方法について
-
マルチスレッドについて
-
スレッドの終了の仕方
-
Linuxでスレッド優先度って変え...
-
Windows上で、シグナル(SIGTERM...
-
LinuxでDoEvents()同等機能
-
VB2005 シリアル通信のClose処理
-
待機関数(WaitForMultipleObjec...
-
マルチスレッドプログラミング...
-
_beginthreadexで生成したスレ...
-
msec単位のWait Timerが作れない!
-
別スレッドからメインダイアロ...
-
マルチスレッドのスレッド数を...
-
.NetのBackgroundWorkerクラス...
おすすめ情報