Java多线程Thread.currentThread()的疑问
高洛峰
高洛峰 2017-04-18 10:01:15
0
4
854
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(4)
PHPzhong

Thread.currentThread() は、現在のプログラムが実行されているスレッドを返しませんが、コード Thread.currentThread() が実行されているスレッドを返します。

新しいスレッドが構築されると、コードはメインスレッドで実行され、run メソッドのコードはスレッドで実行されることがわかります。

出力を見るとわかりやすい

いいねを押す +0
Ty80

1. newThread オブジェクトの場合、デフォルトの名前は Thread-n の形式になります。Thread のソース コードを参照してください。
2. これはスレッド オブジェクトです。thisこのように使用すると、現在のスレッドになります。
3. Thread.currentThread() は常に現在実行中のスレッドを返します。

いいねを押す +0
巴扎黑

コンストラクターメソッドの実行結果は理解できますが、runメソッドの実行結果がsetNameのtestThreadではなくスレッドになっているのはなぜですか?

いいねを押す +0
洪涛

1. getName() メソッドは Thread クラスから継承されています。

の Thread クラスの getName() メソッドを見てください。 リーリー

2. はい
3. はい
コンストラクターでは、Thread.currentThread() がメインスレッドであり、run メソッドの Thread.currentThread() が現在のスレッドです

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート