2011-12-27 9 views
0

スレッドが実行されている間に、スレッドのコンテキストクラスローダーを変更できますか? run()関数内のコンテキストを設定しますか?実行中にコンテキストクラスローダーを変更する

私はGoogleから回答を探しましたが、何も見つかりませんでした。

+3

なぜそれをしたいですか? 「クラスローダーの変更」によってどのようなプログラム機能を提供しようとしていますか? –

+0

実際、私は知らない。私は既存のコードでそれを見て、そのコードの目的を調べる前に、私はそれが違法かもしれないと思った.... – Jonathan

答えて

2

セキュリティマネージャが許可する場合は、Thread.setContextClassLoader()を使用できます。あなたは非常に混乱した結果を得ることができるので、あなたが得ようとしているエラーメッセージが常に役に立つとは限らないので、非常に注意する必要があります。

別のクラスローダーで新しいスレッドを開始することをお勧めします。

+0

so ...私はrun()関数内でコンテキストクラスローダーを変更できますか?それは合法ですか?今度はスレッドが新しいクラスローダーでクラスをロードしますが、作成されたときに別のクラスローダーでクラスをロードしましたか? – Jonathan

+0

ところで、私は助言を必要としません。私が書いたコードではありません。私はちょうどそれが合法かどうかを知りたい。 – Jonathan

+0

法的には難しいが、このようにIMHOになるのは難しい。それがうまくいけば、私はそれほど心配しないでしょう。奇妙なキャストエラーが発生した場合、これが原因である可能性があります。 –

関連する問題