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");
        }
    }
  • 相关阅读:
    【HDOJ】2774 Shuffle
    【POJ】2170 Lattice Animals
    【POJ】1084 Square Destroyer
    【POJ】3523 The Morning after Halloween
    【POJ】3134 Power Calculus
    【Latex】如何在Latex中插入伪代码 —— clrscode3e
    【HDOJ】4801 Pocket Cube 的几种解法和优化
    【HDOJ】4080 Stammering Aliens
    【HDOJ】1800 Flying to the Mars
    SQL语法
  • 原文地址:https://www.cnblogs.com/q1359720840/p/10647758.html
Copyright © 2011-2022 走看看