- PR -

Crimsonのスレッドセーフについて

1
投稿者投稿内容
はまさん
常連さん
会議室デビュー日: 2004/12/07
投稿数: 20
投稿日時: 2005-08-09 14:31
こんにちは。はまのっぷーと申します。

XMLパーサのXercesとCrimsonをマルチスレッドで使用することを考えていて、
パーサがスレッドセーフかどうかを確認しています。

Xercesはスレッドアンセーフであることを確認したのですが、

Crimsonがスレッドセーフなのかどうかわかりません。。
CrimsonもXercesと同じようにスレッドアンセーフなのでしょうか?

ご存知の方、ご教授いただけませんでしょうか。
よろしくお願いいたします。
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2005-08-09 15:09
Crimsonの仕様はわかりませんが、

1.一般的に、内部に大量の状態情報を抱えるテキストパーサーの類がスレッド
セーフに実装されることはなさそうな気がします。

2.JAXPのTransformerはスレッドアンセーフであることが許容されています。
ですので、JAXPのAPI経由でパーサーライブラリを使用する場合、実装が
スレッドアンセーフである前提でプログラムを作成すべきでしょう。

3.オブジェクトがスレッドアンセーフであることが、プログラムの設計上重大な
影響を与えることは少ないはずです。単に、ある時点で複数のスレッドで同一の
インスタンスを共有することがないようにすればよいだけですよ。
はまさん
常連さん
会議室デビュー日: 2004/12/07
投稿数: 20
投稿日時: 2005-08-09 15:23
シュンさん、ご回答ありがとうございます。

やはりスレッドアンセーフを前提で考えた方が良いのですね。。

ただCrimsonがスレッドセーフかどうか、
知識として知っておきたいのもありますので、継続して調べていきたいと思います。
1

スキルアップ/キャリアアップ(JOB@IT)