>  기사  >  Java  >  자바에서 스레드란 무엇인가?

자바에서 스레드란 무엇인가?

王林
王林원래의
2019-12-04 16:03:143521검색

자바에서 스레드란 무엇인가?

스레드란 무엇인가요?

스레드는 하나의 프로세스에서 실행되는 프로세스를 말합니다. 예를 들어, 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()

Thread 클래스 인스턴스는 Java의 다른 객체와 마찬가지로 변수와 메서드를 가지며 힙에서 살다가 죽는 객체일 뿐입니다.

Java에서는 각 스레드에 호출 스택이 있습니다. 프로그램에서 새 스레드가 생성되지 않더라도 스레드는 여전히 백그라운드에서 실행됩니다.

Java 애플리케이션은 항상 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의 run() 메서드에는 특별한 것이 없습니다. main() 메서드와 마찬가지로 새 스레드가 호출하는 방법은 메서드 이름(및 서명)뿐입니다. 따라서 Runnable 또는 Thread에서 run 메소드를 호출하는 것이 적법합니다. 그러나 새로운 스레드를 시작하지는 않습니다.

추천 관련 기사 및 튜토리얼: 🎜Java 처음부터 시작하기🎜🎜

위 내용은 자바에서 스레드란 무엇인가?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.