> Java > java지도 시간 > 자바에서 멀티스레딩 구현

자바에서 멀티스레딩 구현

王林
풀어 주다: 2019-11-28 17:00:29
앞으로
2662명이 탐색했습니다.

자바에서 멀티스레딩 구현

첫 번째 방법은 Thread 클래스의 하위 클래스를 정의하는 것입니다:

//第一种方法
public class MyThread extends Thread {
    @Override
    public void run() {
        String name = getName(); // 获取线程名称
        System.out.println(name); // 输出 Thread-0
    }
}
로그인 후 복사
//第二种方法
public class MyThread extends Thread {
    @Override
    public void run() {
        Thread t = Thread.currentThread(); // 获取当前线程
        System.out.println(t); 	// 下面调用后输出 Thread[Thread-0,5,main]
        System.out.println(t.getName());// 输出 Thread-0
    }
}
로그인 후 복사

java 관련 비디오 권장 사항: java 온라인 학습

멀티 스레딩 활성화:

public class demo1Test {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        mt.start();// 会运行MyThread的run()方法
   }
}
로그인 후 복사

두 번째 방법은 다음을 구현하는 것입니다. Runnable 인터페이스:

구현 단계:

1. Runnable 인터페이스의 구현 클래스를 생성합니다

2. 구현 클래스에서 Runnable 인터페이스의 실행 메서드를 재정의하고 스레드 작업을 설정합니다.

3. Runnable 인터페이스의 객체

4. Thread 클래스 객체를 생성하고 Runnable 인터페이스의 구현 클래스 객체를 생성자 메소드에 전달합니다

5. Thread 클래스에서 start 메소드를 호출하여 run 메소드를 실행하는 새 스레드를 시작합니다.

public class Runnableimpl implements Runnable {//1.创建一个Runnable 接口的实现类
    @Override
    public void run() {
        for (int i = 1; i <= 20; i++) {// 2.在实现类中重写Runnable接口的run方法,设置线程任务
            System.out.println(Thread.currentThread().getName() + i);
        }
    }
}
로그인 후 복사
public class demo2Test {
    public static void main(String[] args) {
        Runnable run = new Runnableimpl();//3.创建一个Runnable接口的实现类对象
        Thread t = new Thread(run); //4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象
        t.start();//5.调用Thread类中的start方法,开启新的线程执行run方法
        for (int i = 1; i <= 20; i++) {
            System.out.println(Thread.currentThread().getName() + i);
        }	// Thread-0和main开始多线程抢夺cpu
    }
}
로그인 후 복사

다중 스레드 생성을 위한 Runnable 인터페이스 구현의 이점:

1. 단일 상속의 제한 방지:

클래스는 스레드를 상속한 후에는 상속할 수 없습니다. otherclasses

Runnable 인터페이스를 구현하고 다른 클래스를 상속하여 Other 인터페이스를 구현할 수도 있습니다.

2. 프로그램의 확장성을 높이고 프로그램의 결합을 줄입니다.

스레드 작업 설정과 스레드 작업 시작을 분리하기 위해 Runnable 인터페이스를 구현합니다.

구현 클래스에서 run() 메서드를 다시 작성하고, 스레드 작업을 설정합니다.

Thread 클래스 객체를 생성하고 start() 메서드를 호출하여 새 스레드를 시작합니다.

sleep() 메서드를 사용하여 메서드를 sleep

public class sleepTest {
    public static void main(String[] args) {
        for (int i = 0; i < 20; i++) {
        //使用Thread类的sleep方法,让方法睡眠1秒钟
            try {
                Thread.sleep(1000);//传入的是毫秒值
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(i);
        }
    }
}
로그인 후 복사

권장 Java 관련 기사 튜토리얼: java 빠른 시작

위 내용은 자바에서 멀티스레딩 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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