스레드란 무엇인가요?
스레드는 하나의 프로세스에서 실행되는 프로세스를 말합니다. 예를 들어, java.exe 프로세스에서는 많은 스레드가 실행될 수 있습니다. 스레드는 항상 프로세스에 속하며 프로세스의 여러 스레드는 프로세스의 메모리를 공유합니다.
Java에서 "스레드"는 다음 두 가지를 의미합니다.
1. java.lang.Thread 클래스의 인스턴스
2.
추천 Java 관련 비디오 튜토리얼: java 비디오 튜토리얼
java.lang.Thread
클래스 또는 java.lang.Runnable
인터페이스를 사용하여 정의할 코드를 작성하세요. 새 스레드를 인스턴스화하고 시작합니다. java.lang.Thread
类或者java.lang.Runnable
接口编写代码来定义、实例化和启动新线程。
一个Thread类实例只是一个对象,像Java中的任何其他对象一样,具有变量和方法,生死于堆上。
Java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。
一个Java应用总是从main()
main()
메서드에서 실행되기 시작합니다. main() 메서드는 메인 스레드라고 하는 스레드에서 실행됩니다. 새 스레드가 생성되면 새 호출 스택이 생성됩니다. 스레드는 일반적으로 사용자 스레드와 대기 스레드라는 두 가지 범주로 나뉩니다. 모든 사용자 스레드의 실행이 끝나면 JVM이 자동으로 종료됩니다. 그러나 대기 스레드는 JVM과 독립적이지 않습니다. 일반적으로 대기 스레드는 운영 체제나 사용자에 의해 생성됩니다.
Java 스레드: 생성 및 시작
1. 스레드 정의
1 java.lang.Thread 클래스를 확장합니다. 이 클래스에는 run() 메서드가 있으며 사용법에 주의해야 합니다.public void run()스레드가 독립적인 Runnable 실행 개체를 사용하여 구성되면 Runnable 개체의 run 메서드가 호출됩니다. 메소드는 어떤 작업도 수행하지 않고 반환합니다. Thread의 하위 클래스는 이 메서드를 재정의해야 합니다. 2. java.lang.Runnable 인터페이스를 구현합니다.
void run()Runnable 인터페이스를 구현하는 개체를 사용하여 스레드를 생성하는 경우 스레드를 시작하면 독립적으로 실행되는 스레드에서 개체의 run 메서드가 호출됩니다. 메서드 run의 일반 계약은 원하는 작업을 수행할 수 있다는 것입니다.
2. 스레드 인스턴스화
1. java.lang.Thread 클래스를 확장하는 스레드인 경우 new를 사용하세요.
2. java.lang.Runnable 인터페이스를 구현하는 클래스인 경우 Thread 생성자를 사용합니다:Thread(Runnable target) Thread(Runnable target, String name) Thread(ThreadGroup group, Runnable target) Thread(ThreadGroup group, Runnable target, String name) Thread(ThreadGroup group, Runnable target, String name, long stackSize)
3. 스레드를 시작합니다.
대신 스레드의 Thread 개체에서 start() 메서드를 호출합니다. run () 또는 다른 방법. start() 메소드를 호출하기 전: 스레드는 새로운 상태에 있습니다. 새로운 상태는 Thread 객체가 있지만 아직 실제 스레드가 없음을 의미합니다. start() 메소드 호출 후: 일련의 복잡한 일이 발생합니다. 새 실행 스레드를 시작합니다(새 호출 스택 사용). 스레드가 새 상태에서 실행 가능 상태로 전환됩니다. gets 기회가 실행되면 해당 대상 run() 메서드가 실행됩니다. 추천 관련 기사 및 튜토리얼: 🎜Java 처음부터 시작하기🎜🎜위 내용은 자바에서 스레드란 무엇인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!