PHPz2017-04-18 10:03:15
Thread.currentThread() は、現在のプログラムが実行されているスレッドを返しませんが、コード Thread.currentThread() が実行されているスレッドを返します。
新しいスレッドが構築されると、コードはメインスレッドで実行され、run メソッドのコードはスレッドで実行されることがわかります。
出力を見るとわかりやすい
PHP中文网2017-04-18 10:03:15
1. new
が Thread
オブジェクトの場合、デフォルトの名前は Thread-n
の形式になります。Thread
のソース コードを参照してください。
2. これはスレッド オブジェクトです。this
このように使用すると、現在のスレッドになります。
3. Thread.currentThread()
は常に現在実行中のスレッドを返します。
巴扎黑2017-04-18 10:03:15
コンストラクターメソッドの実行結果は理解できますが、runメソッドの実行結果がsetNameのtestThreadではなくスレッドになっているのはなぜですか?
PHP中文网2017-04-18 10:03:15
1. getName() メソッドは Thread クラスから継承されています。
の Thread クラスの getName() メソッドを見てください。 リーリー2. はい
3. はい
コンストラクターでは、Thread.currentThread() がメインスレッドであり、run メソッドの Thread.currentThread() が現在のスレッドです