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

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

王林
풀어 주다: 2019-12-04 16:03:14
원래의
3567명이 탐색했습니다.

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

스레드란 무엇인가요?

스레드는 하나의 프로세스에서 실행되는 프로세스를 말합니다. 예를 들어, 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿