最初に少し背景を。NetBeans で、コンストラクターで新しいスレッドを開始しないようにという警告が表示されました。その理由は、コンストラクターが実際にオブジェクトの作成を完了する前に、新しいスレッドが開始され、スレッドを開始したオブジェクトを参照しようとする可能性があるためだと読みました。
1.) 使用する代わりに実験のためnew Thread
にthread.start()
試しExecutorService
てみましたが、警告は表示されませんでした。 これは、コンストラクターで新しいスレッドを作成して開始しても問題ないということExecutorService
ですか?
2.) また、ExecutorService
キャッシュされたスレッド プールの形式がある場合は、標準的な方法で新しいスレッドを作成し、キャッシュ プールからスレッドnew Thread
をthread.start()
プルします (または、スレッドが利用できない場合はスレッドを作成させます)。それとも、これらのスレッドはキャッシュされたスレッド プールから完全に独立していますか?