トップページ > プログラム > 2016年06月27日 > E1I14SZR

書き込み順位&時間帯一覧

34 位/234 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000001000000000010002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け! Part 135©2ch.net

書き込みレス一覧

C言語なら俺に聞け! Part 135©2ch.net
942 :デフォルトの名無しさん[sage]:2016/06/27(月) 09:51:55.14 ID:E1I14SZR
>>940
タイムアウトできるようにスレッド関数の内部を実装すれば、できます
C言語なら俺に聞け! Part 135©2ch.net
945 :デフォルトの名無しさん[sage]:2016/06/27(月) 20:47:01.77 ID:E1I14SZR
>>943
1つの実装方法として、タイマー割込み発生用のサーバスレッドを自作し、
そのスレッドから、各スレッドのシグナル処理関数(シグナルハンドラ)をCALLする、
という方法があります。スレッドを区別するため、スレッドユニークな何らかの値
(スレッド固有のデータ領域を示すポインタなど)を引数として追加しておくといいでしょう。

簡単に言えば、シグナル処理をOSではなく、自作のスレッドにやらせる、ということですね。

ただし、排他処理には十分に注意する必要があるなど、かなり複雑な実装となりますので、
スレッドのタイムアウト処理のシンプルな実装方法としては、>>944 の方法が
推奨されると思われます。

C言語の話からは微妙に外れますので、マルチスレッドプログラミング相談室スレの方が、
いろいろな意見がもらえるかも?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。