첫 번째 방법은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!