[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 07/22 01:51 / Filesize : 97 KB / Number-of Response : 333
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

マルチスレッドプログラミング相談室 その5



224 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 00:19:15 ]
_beginthreadの使い方について質問です。
子スレッドの処理が止まっているとき、終了する方法が知りたいです。

-----------------------------------------------------------------
//子スレッドの関数
void thread_func(){
//Sleep();やソケットのaccept関数など永久に待つ関数などで、
//処理が止まっているので終了状態になりません
}
//子スレッド呼び出し
thread_id = _beginthread(thread_func,0,(void *)param)
//終了処理
GetExitCodeThread( thread_id,lpExitCode );//終了コード取得
ExitThread(lpExitCode );//終了コード指定して終了
CloseHandle(thread_id);//ハンドル閉じる
-----------------------------------------------------------------
1、子スレッドのsleep、accept関数など待ち状態を、解除する方法あるでしょうか?
処理が進めば、_endthreadで終了することが出来きるのですが。

2、強制的に親スレッドから、安全に子スレッドを強制終了する方法あるでしょうか?
_beginthreadは、CreateThreadを呼んでるみたいなのですが、上記のように
"//終了処理"しても大丈夫でしょうか?安全な方法教えていただけないでしょうか。

よろしくお願いします。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<97KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef