C言語なら俺に聞け! Part 135©5ch.io
レス数が900を超えています。1000を超えると表示できなくなるよ。
0945デフォルトの名無しさん
2016/06/27(月) 20:47:01.77ID:E1I14SZR1つの実装方法として、タイマー割込み発生用のサーバスレッドを自作し、
そのスレッドから、各スレッドのシグナル処理関数(シグナルハンドラ)をCALLする、
という方法があります。スレッドを区別するため、スレッドユニークな何らかの値
(スレッド固有のデータ領域を示すポインタなど)を引数として追加しておくといいでしょう。
簡単に言えば、シグナル処理をOSではなく、自作のスレッドにやらせる、ということですね。
ただし、排他処理には十分に注意する必要があるなど、かなり複雑な実装となりますので、
スレッドのタイムアウト処理のシンプルな実装方法としては、>>944 の方法が
推奨されると思われます。
C言語の話からは微妙に外れますので、マルチスレッドプログラミング相談室スレの方が、
いろいろな意見がもらえるかも?
レス数が900を超えています。1000を超えると表示できなくなるよ。