ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

MTアンセーフの状態

2008-06-20 23:59:58 | PG(言語比較)

文字列のページから文字の部分を分離して新しいページを作った。
と言っても、移したのは改行コードに関する部分くらいか^^;

あとマルチスレッドについて思った事をちょっと追記。

C言語だと関数の呼び出し形態は1つしかないので、MT非セーフの関数の場合、「排他すれば安全」と「排他してもダメ」の2種類になるように思う。

オブジェクト指向というかクラスをインスタンス化して使う言語の場合、インスタンスメソッドがMT非セーフだったら、同一インスタンスだと複数スレッドから呼べない(安全でない)。
排他の有無によって安全になるかどうか…というのはC言語の場合と同じだけれども、もう一つ、「それぞれのスレッド毎にインスタンスを作れば排他しなくても使える」という可能性がある。(staticなフィールドを使ってデータを保持していたりしたら安全とは言えないので、スレッド毎にインスタンス化したからと言って必ず安全とは限らない)

「MT非セーフな関数・メソッドに対し、どう呼んだら安全となるか」という分類については、専門用語がありそうな気もするけど、聞いたことないなぁ…。



最新の画像もっと見る

コメントを投稿