美文网首页
JAVA 笔记[12][多线程]

JAVA 笔记[12][多线程]

作者: 魔介 | 来源:发表于2018-11-30 16:36 被阅读0次

    JAVA 多线程

    JAVA多线程: 最大限度的利用CPU 并行执行程序的多个部分

    创建线程的两种方法
    • 扩展 Thread 类
    • 实现 Runnable 接口

    扩展 Thread 类 创建多线程

    ThreadLearn.java

    public class ThreadLearn extends Thread{
        public void run(){
            try{
                System.out.println(
                    "Thread id="+
                    Thread.currentThread().getId() +
                    "   Thread name="+
                    Thread.currentThread().getName()
                );
    
            }catch(Exception e){
                System.out.println(
                    e
                );
            }
    
        }
    }
    

    EnterThread.java

    public class EnterThread{
        public static void main(String[] args){
            byte count = 10;
            for(byte i=0; i< count; i++){
                ThreadLearn tl = new ThreadLearn();
                tl.start();
            }
        }
    }
    

    运行

    Thread id=10   Thread name=Thread-0
    Thread id=13   Thread name=Thread-3
    Thread id=12   Thread name=Thread-2
    Thread id=11   Thread name=Thread-1
    Thread id=15   Thread name=Thread-5
    Thread id=14   Thread name=Thread-4
    Thread id=16   Thread name=Thread-6
    Thread id=17   Thread name=Thread-7
    Thread id=18   Thread name=Thread-8
    Thread id=19   Thread name=Thread-9
    

    实现 Runnable 接口创建多线程

    RunnableLearn.java

    public class RunnableLearn implements Runnable{
    
        private Thread t;
    
        public RunnableLearn(){
        }
    
        public void run(){
            try{
                System.out.println(
                    "Runnable Thread id = "+
                    Thread.currentThread().getId()+
                    " Runnable Thread name = "+
                    Thread.currentThread().getName()
                );
            }catch(Exception e){
                System.out.println( e );
            }
        }
    
        public void start(){
            t = new Thread(this);
            t.start();
        }
    }
    

    EnterThreadj.java

    public class EnterThread{
        public static void main(String[] args){
            byte count = 10;
            /*
            for(byte i=0; i< count; i++){
                ThreadLearn tl = new ThreadLearn();
                tl.start();
            }
            */
    
            for(byte j=0; j<count; j++){
                RunnableLearn  r = new RunnableLearn();
                r.start();
            }
        }
    }
    

    运行

    Runnable Thread id = 10 Runnable Thread name = Thread-0
    Runnable Thread id = 14 Runnable Thread name = Thread-4
    Runnable Thread id = 13 Runnable Thread name = Thread-3
    Runnable Thread id = 12 Runnable Thread name = Thread-2
    Runnable Thread id = 11 Runnable Thread name = Thread-1
    Runnable Thread id = 16 Runnable Thread name = Thread-6
    Runnable Thread id = 15 Runnable Thread name = Thread-5
    Runnable Thread id = 18 Runnable Thread name = Thread-8
    Runnable Thread id = 17 Runnable Thread name = Thread-7
    Runnable Thread id = 19 Runnable Thread name = Thread-9
    

    相关文章

      网友评论

          本文标题:JAVA 笔记[12][多线程]

          本文链接:https://www.haomeiwen.com/subject/durxcqtx.html