Java에서 멀티스레딩을 구현하는 방법: (권장: java 비디오 튜토리얼)
방법 1: Thread 클래스 상속
1 Thread 클래스에서 상속되는 하위 클래스를 만듭니다
2. 반복 Thread 클래스에 run()을 작성합니다. run()
3에서 이 스레드가 수행할 작업을 선언합니다. 이 객체의 start()를 호출합니다. 스레드 ② 현재 스레드의 run() 메서드를 호출합니다
방법 2: Runnable 인터페이스 구현 방법1 Runnable 인터페이스를 구현하는 클래스를 만듭니다
2. : run(): 생성된 스레드는 이 메소드에서 선언됩니다
3. Runnable 인터페이스 구현 클래스의 객체를 생성합니다
4. 이 객체를 Thread 클래스의 생성자에 매개변수로 전달하고 Thread 클래스의 객체
5. Thread 클래스 start() 호출: ① 스레드 시작 ② 스레드의 run() 호출 ---> Runnable 인터페이스 구현 클래스의 run() 호출
다음 두 가지 메소드는 jdk1.5의 새로운 기능입니다!
방법 3: Callable 인터페이스 구현지침:
1. Runnable을 사용하는 것과 비교할 때 Callable이 더 강력합니다
2. run() 메서드와 비교하여 구현된 call() 메서드는 값을 반환할 수 있습니다.
3. 메소드는 예외를 발생시킬 수 있습니다.
4. 일반 반환 값을 지원합니다.
5. 반환 결과를 가져오는 등 FutureTask 클래스를 사용해야 합니다.
Future 인터페이스는 특정 항목의 실행 결과를 취소하고 쿼리할 수 있습니다. 실행 가능 및 호출 가능 작업 완료, 결과 얻기 등 FutureTask는 Future 인터페이스의 유일한 구현 클래스입니다. FutureTask는 Runnable 및 Future 인터페이스도 구현합니다. Runnable로 스레드에 의해 실행될 수 있으며 Callable
의 반환 값을 얻기 위해 Future로 사용될 수도 있습니다. 방법 4: 스레드 풀 사용지침:
미리 여러 스레드를 생성하세요. 스레드 풀에 넣고 사용할 때 직접 얻고, 사용 후에는 다시 풀에 넣습니다. 잦은 생성과 소멸을 피하고 재사용을 실현할 수 있습니다. 생활 속의 대중교통과 비슷합니다.
이점:
1. 응답 속도 향상(새 스레드 생성 시간 단축)
2. 리소스 소비 감소(스레드 풀에서 스레드 재사용, 매번 생성할 필요 없음)
3.
예:
import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.FutureTask; import java.util.concurrent.ThreadPoolExecutor; //方式一 class ThreadTest extends Thread { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); } } } // 方式二 class RunnableTest implements Runnable { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); } } } // 方式三 class CallableTest implements Callable<Integer> { @Override public Integer call() throws Exception { int sum = 0; for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); sum += i; } return sum; } } // 方式四 class ThreadPool implements Runnable { @Override public void run() { for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); } } } public class Test { public static void main(String[] args) { // 继承Thread ThreadTest thread = new ThreadTest(); thread.setName("方式一"); thread.start(); // 实现Runnable RunnableTest runnableTest = new RunnableTest(); Thread thread2 = new Thread(runnableTest, "方式二"); thread2.start(); // 实现Callable<> 有返回值 CallableTest callableTest = new CallableTest(); FutureTask<Integer> futureTask = new FutureTask<>(callableTest); new Thread(futureTask, "方式三").start(); // 返回值 try { Integer integer = futureTask.get(); System.out.println("返回值(sum):" + integer); } catch (Exception e) { e.printStackTrace(); } // 线程池 ExecutorService pool = Executors.newFixedThreadPool(10); ThreadPoolExecutor executor = (ThreadPoolExecutor) pool; /* * 可以做一些操作: * corePoolSize:核心池的大小 * maximumPoolSize:最大线程数 * keepAliveTime:线程没任务时最多保持多长时间后会终止 */ executor.setCorePoolSize(5); // 开启线程 executor.execute(new ThreadPool()); executor.execute(new ThreadPool()); executor.execute(new ThreadPool()); executor.execute(new ThreadPool()); } }
더 많은 Java 지식을 알고 싶다면
java 기본 튜토리얼위 내용은 Java 멀티스레딩을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사에서는 다양한 Java Garbage Collection 알고리즘 (Serial, Parallel, CMS, G1, ZGC), 성능 영향 및 큰 힙이있는 응용 분야에 대한 적합성에 대해 설명합니다.

이 기사는 JVM (Java Virtual Machine)에 대해 설명하여 다양한 플랫폼에서 Java 프로그램을 실행하는 데있어 역할을 자세히 설명합니다. JVM의 내부 프로세스, 주요 구성 요소, 메모리 관리, 쓰레기 수집 및 성능 Optimizatio를 설명합니다.

Java의 Nashorn Engine을 사용하면 Java 앱 내에서 JavaScript 스크립팅이 가능합니다. 주요 단계로는 내슈런 설정, 스크립트 관리 및 성능 최적화가 포함됩니다. 주요 이슈에는 NASHORN의 감가 상기 거점으로 인한 보안, 메모리 관리 및 향후 호환성이 포함됩니다.

Java의 시도는 파일 스트림 또는 데이터베이스 연결과 같은 리소스를 자동으로 닫아 코드 가독성 및 유지 관리 가능성을 향상시켜 자원 관리를 단순화합니다.

Java 열거는 고정 된 값 세트를 나타냅니다. 고정 된 값 세트를 나타냅니다. 맞춤형 방법 및 생성자를 통해 유형 안전, 가독성 및 추가 기능을 제공합니다. 코드 조직을 향상시키고 효율적인 가치 처리를 위해 스위치 문에 사용할 수 있습니다.


핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Dreamweaver Mac版
시각적 웹 개발 도구

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

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기
