K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>すみません、今みっつくらいよくわからないのですが、 > >> sid[0] = スレ開始("タイマ表示",40,6," 40ms"," で6回実行"); >> sid[1] = スレ開始("タイマ表示",60,5," 60ms"," で5回実行"); >> sid[2] = スレ開始("タイマ表示",80,4," 80ms"," で4回実行"); > >ここで、スレッドを3本起動しており、「タイマ表示」という関数名の関数を >呼び出しているようですが、その「タイマ表示」関数は、引数のqidを順に >変えながら、3回呼び出されているように見えますが……(そして毎回、自ら >returnしている) > >>int タイマ表示(int sid, int qid,int p1, string p2, string p3) >>{ >> string questr = " SID=" + sid + " QID=" + qid; >> if(qid == スレッド開始) { >> // スレッド起動時のみ時実行 -------------- >> println("タイマ表示スレッド開始"+questr+" 回数="+p1+p2+p3); >> システム変数("HAI000-HAI001",生成); >> カウント = 0; >> 回数 = p1; >> システム変数("HAS000-HAS001",生成); >> P2STR = p2; >> P3STR = p3; >> } elsif(qid == タイマ) { >> // タイマキューにより実行 -------------- >> カウント++; >> println("タイマ表示"+questr+" cnt="+カウント+P2STR+P3STR); >> if(カウント >= 回数) { >> println("タイマ表示スレッド終了" + questr); >> return スレッド終了; >> } >> } elsif(qid == 終了指示) { >> println("タイマ表示 終了指示により終了" + questr); >> return スレッド終了; >> } else { >> println("タイマ表示スレッド エラー終了" + questr); >> return スレッドエラー終了; >> } >> return スレッド待機; >>} > >「タイマ表示」関数がreturnしないまま、別のスレッドに制御を奪われることって >あるんでしょうか? >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!