zoukankan      html  css  js  c++  java
  • 多线程01.newThread的方式创建线程

    1.java应用程序的main函数是一个线程,是被jvm启动的时候调用,线程的名字叫main
    2.实现一个线程,必须创建一个thread实例,override run方法,并且调用start方法。
    3.在jvm启动后,实际 上有多个线程,但是至少有一个非守护线程。
    4.当你调用一个线程start方法的时候,此时至少有两个线程,一个是调用你的线程,还有一个是执行run方法的线程
    5.线程的生命周期分为new,runnable,running,block,termate.
    public class Mythread {
        public static void main(String[] args) {
    
            //使用匿名内部类的方式执行多线程
         Thread th1= new Thread("custom"){
             @Override
             public  void run(){
            for(int i=0;i<100;i++){
                System.out.println(Thread.currentThread().getName()+"使用匿名内部类的方式创建多线程=>"+i);
            }
             }
    
         };//start调用了底层c++的方法,重写run方法,使用的是模板方法模式。
         th1.start();
            th1.start();//不能调用start两次
            for(int i=0;i<100;i++){
                System.out.println(Thread.currentThread().getName()+"使用普通的main进行打印=>"+i);
            }
    
    
        }
    }

    模板方法模式案例:

    public abstract class TemplateMethod {
        public final  void print(String message){
            System.out.println("###################");
            wrapPrint(message);
            System.out.println("###################");
        }
    
        protected abstract void wrapPrint(String message);
    
        public static void main(String[] args) {
            TemplateMethod t1=    new TemplateMethod(){
                @Override
                protected  void wrapPrint(String message){
                    System.out.println("##"+message+"##");
                };
            };
            t1.print("hello thread");
        }
    }
  • 相关阅读:
    BZOJ2759 一个动态树好题
    BZOJ3527 力
    HDU6069 String
    HDU5069 Harry And Biological Teacher
    AC自动机初步
    HDU6155 Subsequence Count
    while与until
    RADI
    linux压缩及归档
    挂载与卸载
  • 原文地址:https://www.cnblogs.com/q1359720840/p/10647758.html
Copyright © 2011-2022 走看看