SewiGの日記
2005-04-03 [日]
■ [Programming] Threadクラス
Win32APIのCreateThread関数、ExitThread関数をラップしてインタフェースをJavaライクにしたクラスを作りました。しかし友人から指摘がありました。
CreateThread関数、ExitThread関数を使用した場合、Win32API以外の構成でプログラミングができない、と。
C のランタイムライブラリに記録されている関数を使うスレッドは、CreateThread 関数と ExitThread 関数ではなく、C のランタイム関数であるbeginthread 関数と endthread 関数を使うべきです。この方法に従わないと、ExitThread 関数を呼び出したときにわずかなメモリリークが発生します。
「MSDN ライブラリ」
いわゆる再入不可能な関数が含まれているから危険だということです。複数のプログラムから同じ関数が実行される場合に、もし静的変数が使用されていた場合はデータの矛盾により予期しない動作が発生するからです。
そこで_beginthreadex関数と_endthreadex関数です。process.hが必要です。これらは、セキュリティ設定・優先度設定・スレッド識別子が使用可能で、正常に初期化してくれたり、メモリリークが発生しません。使い終わったらCloseHandle関数で閉じてください。
2007-04-03 [火]
■ [Other] 薬は使った方がいいのだろうか
ここ数年大きな病気もなく健康的に過ごしています。
しかし、周りはインフルエンザで大変です。で、タミフルが処方されているようでニュースで話題のタミフルを持っているらしくちょっと羨ましいです。
…タミフルを服用したいとかいう話ではなく、ただ話のネタとして持っているとおもしろいな、と。
タミフル自体で死ぬわけではなく、副作用で気分が高揚して異常行動に出るのが危険らしいです。私の場合、タミフルどころか薬なしに寝て治すことが多いのでどうも薬に依存する気持ちが分からないのです。お金も掛かりますしね。
ただ、日中に下痢や頭痛がきたときはさすがに薬も必要だなと感じますね。
● てっつん [その某ゲーム買いましたが、あんま面白くないんだよなぁ( ´ー`)y─┛~~]
● SewiG [アヒャ。それは残念。 私も、そろそろDS本体が欲しい季節です。]