start()を呼び出すと、新しい呼び出しスレッドが専用呼び出しスタックから開始します。Javaの新しいスレッドの呼び出しスタック情報
私は、その呼び出しスタックの最初のメソッド、つまりstart()またはrun()が不思議に思っています。
Thread()が完了すると、スレッドは死んだとみなされます。
start()を呼び出すと、新しい呼び出しスレッドが専用呼び出しスタックから開始します。Javaの新しいスレッドの呼び出しスタック情報
私は、その呼び出しスタックの最初のメソッド、つまりstart()またはrun()が不思議に思っています。
Thread()が完了すると、スレッドは死んだとみなされます。
start()
は、新しいスレッドではまったく呼び出されません。元のスレッドでのみ実行されます。
start
は、メインスレッドのメソッド呼び出しです。これは、それがメインスレッドのスタック上にあることを意味します。その後、start
の内部で新しいスレッドが実際に起動され、run
メソッドが新しいスレッドのスタックの最初のメソッドになります。
清算してくれてありがとうTudor – Firefox
返信いただきありがとうございます。スレッドは、start()が呼び出されるとライブと見なすことができます。それは少し矛盾しているようです..それは、状態 '生きている'が新しいスタックを意味するのではないという意味ですか? – Firefox
しかし、 'start()'メソッドは新しいスタックには現れません。 – SLaks
@Firefoxちょうどそれについて考えてみましょう:メソッドが呼び出されると、スレッドの呼び出しスタックにプッシュされます。 startメソッドの新しいスレッドを作成するだけなので、新しく作成されたスレッドのスタックには表示されません(嘘です、確かに可能ですが、意味がありません) – Voo