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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
スレッドの安全な終了のさせ方
C言語・C++・C#
-
(マルチスレッド)_beginthreadexに複数の引数を渡す
C言語・C++・C#
-
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
-
4
CString から LPCTSTRの型に変換
C言語・C++・C#
-
5
HANDLEの宣言でのエラー
C言語・C++・C#
-
6
_beginthreadexで生成したスレッドの返り値を取得する方法
C言語・C++・C#
-
7
c++std::string型をTCHARに変換したい!
C言語・C++・C#
-
8
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
9
C言語での引数の省略方法
C言語・C++・C#
-
10
int型の内容をbyteの配列にコピー
Java
-
11
スレッドの終了はどうやるんですか?
C言語・C++・C#
-
12
マルチスレッドプログラミングについて
C言語・C++・C#
-
13
WaitForSingleObjectの使い方について
C言語・C++・C#
-
14
UpdateData( FALSE); による文字列データの表示更新(VC++6.0)
C言語・C++・C#
-
15
構文エラー;"が型の前にありませんとは、どうしたら解決できるのですか。"
C言語・C++・C#
-
16
define で 配列
C言語・C++・C#
-
17
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
18
Linuxでのスレッド間メッセージについて
C言語・C++・C#
-
19
Enterキーを押されたら次の処理に移るという事をしたい。
C言語・C++・C#
-
20
クラスのアドレスを引数として渡したい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VC++スレッドの正しい終了のさ...
-
Windows上で、シグナル(SIGTERM...
-
MFC通信プログラムマルチスレッ...
-
スレッドにて同一メモリの書き...
-
マルチスレッドについて
-
自作クラスのイベントを外部ハ...
-
ユーザーインターフェイスの一...
-
.netアプリへのSendMessageでフ...
-
特定のスレッドの破棄
-
C++ GUIのメッセージループ。
-
マルチスレッドプログラムでメ...
-
excelvbaでCreateThreadの動作
-
スレッドの終了の仕方
-
msec単位のWait Timerが作れない!
-
別スレッドとイベントの終了手...
-
スレッドの終了はどうやるんで...
-
Linuxでスレッド優先度って変え...
-
_beginthreadexについて
-
DirectX LPDIRECT3DDEVICE9のマ...
-
Macターミナルで実行中のプログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WaitForSingleObjectの使い方に...
-
VC++スレッドの正しい終了のさ...
-
スレッドの監視方法について
-
スレッドの安全な終了のさせ方
-
スレッドにて同一メモリの書き...
-
Windows上で、シグナル(SIGTERM...
-
スレッドの終了の仕方
-
スレッドの終了はどうやるんで...
-
VB2005 シリアル通信のClose処理
-
マルチスレッドプログラミング...
-
.netアプリへのSendMessageでフ...
-
マルチスレッドについて
-
Linuxでスレッド優先度って変え...
-
Win32APIでのスレッド処理
-
pthread_cond_wait 取りこぼし?
-
LinuxでDoEvents()同等機能
-
C++ GUIのメッセージループ。
-
excelvbaでCreateThreadの動作
-
マルチスレッドの実行順序の制御
-
同一スレッドで、ロックをかけ...
おすすめ情報