머리말
멀티 스레딩은 개발 과정에서 종종 만나는 것이며 필수적이고 필요한 숙달이기도합니다. 멀티 스레딩 개발을 수행해야한다는 것을 알면 가장 먼저 알아야 할 것은 자연스럽게 멀티 스레딩을 구현하는 방법, 즉 스레드를 만드는 방법입니다.
Java에서 스레드를 만드는 것은 일반 클래스의 객체 작업을 만드는 것과 동일합니다. 두 가지 방법으로 스레드를 만들 수 있습니다.
1. 스레드 클래스를 상속하고 run () 메소드를 재정의합니다.
2. runnable 인터페이스를 구현하고 run () 메소드를 구현하십시오.
방법 1 : 스레드 클래스를 상속합니다
코드는 매우 간단합니다
먼저 스레드의 이름을 지정할 수 있도록 생성자에 과부하.
run () 메소드를 다시 작성하십시오.
여기서 먼저 스레드가 스레드 이름 +를 출력하게합니다.
그런 다음 스레드 이름 + 5ms마다 증분 번호를 출력하십시오.
/*** 2016/10/17에 Holten.gao가 작성했습니다. */public class strook restread는 strule {public threadthread (문자열 이름) {super (name); } @override public void run () {system.out.println (this.getName ()+"start!"); for (int i = 0; i <10; i ++) {system.out.println (this.getName ()+""+i); try {thread.sleep (5); } catch (InterruptedException e) {e.printstacktrace (); }}}}방법 2 : 실행 가능한 인터페이스를 구현하십시오
코드도 매우 간단합니다
run () 메소드를 구현하십시오.
여기서 먼저 스레드가 스레드 이름 +를 출력하게합니다.
그런 다음 스레드 이름 + 5ms마다 증분 번호를 출력하십시오.
/*** 2016/10/17에 Holten.gao가 작성했습니다. */public class runnableThread는 runnable {@override public void run () {system.out.println (thread.currentthread (). getName ()+"start!"); for (int i = 0; i <10; i ++) {system.out.println (thread.currentthread (). getName ()+""+i); try {thread.sleep (5); } catch (InterruptedException e) {e.printstacktrace (); }}}}테스트 결과
테스트 코드
/*** 2016/10/17에 Holten.gao가 작성했습니다. */public class main {public static void main (String [] args) {Thread ThreadThread = new ThreadThread ( "ThreadThread"); ThreadThread.start (); 스레드 runnableThread = new Thread (new RunnableThread (), "runnableThread"); runnableThread.start (); }}테스트 결과
ThreadThread start! stroodthreadthread 0runbleThread start! runnableThread 0threadThread 1RunBleThread 1threadThread 2 runbleThread 2threadThread 3 runnableThread 3threadThread 4RunnableThread 4threadthread 5threadthreadthreadthreadthreadthreadthreadtthread 7nbableThread 7nableThread 7nableThread 7nableThread 7nableThread 7 runbleThread 7 runbleThread. 8RUNNABLETHREAD 9
두 가지 방법의 비교
1. Java는 단일 상속 만 지원하기 때문에 방법 1을 사용하여 다른 클래스를 상속받을 수 없습니다. 방법 2에서 인터페이스를 구현하는 동안 다른 클래스의 상속에 영향을 미치지 않습니다.
2. 방법 1 : 스레드를 물려 받으므로 직접 새로 시작할 수 있습니다. 방법 2 : 객체를 스레드 객체에 매개 변수로 전달하여 스레드 객체를 얻습니다.
3. 메소드 1에서는 this.getName을 통해 스레드 이름을 직접 얻을 수 있습니다. 메소드 2에서는 thread.currentthread (). getName ()을 얻어야합니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.