찾다
JavaJava시작하기자바에서 스레드란 무엇인가?

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

Dec 04, 2019 pm 04:03 PM
java

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

스레드란 무엇인가요?

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기