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");
        }
    }
  • 相关阅读:
    Python 简单入门指北(一)
    React Native 从入门到原理一
    WWDC 17: 开发者的最初观感
    写给程序员的管理入门课程 -《格鲁夫给经理人的第一课》
    RxSwift之路 1#Swift语法知识准备
    猿题库从 Objective-C 到 Swift 的迁移
    谈一谈iOS事件的产生和传递
    李洪强原创博客01
    re.S、 re.M
    1111111
  • 原文地址:https://www.cnblogs.com/q1359720840/p/10647758.html
Copyright © 2011-2022 走看看