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

    什么是进程?进程就是正在运行的应用程序,进程是线程的集合体。 什么是线程?线程就是一条执行路径,一个独立的执行单元。
    什么是多线程?多线程就是用来提高程序效率的
    创建线程的几种方式 
      1、使用继承Thread类的方式
      2、使用实现runable接口的方式
      3、使用匿名内部类方式
      4、实现callable接口的方式
      5、使用线程池的方式

    方式一:继承Thread,重写run方法

    package ThreadDemo;
    
    public class ThreadDemo01 {
    
       
        public static void main(String[] args) {
    
            // 1.怎么调用线程
            CreateThreadDemo01 t1 = new CreateThreadDemo01();
            // 2.启动线程
            t1.start();
            for (int i = 0; i < 30; i++) {
                System.out.println("main,i:" + i);
            }
        }
    
    }
    
    class CreateThreadDemo01 extends Thread {
    
        /**
         * run方法就是线程需要执行的任务或者执行的代码
         */
        public void run() {
            for (int i = 0; i < 30; i++) {
                System.out.println("run,i:" + i);
            }
        }
    }

    方式二:实现Runnable接口,实现run方法

    package ThreadDemo;
    
    public class ThreadDemo02 {
    
        /**
         * 
         * 什么是进程?进程就是正在运行的应用程序,进程是线程的集合体。 什么是线程?线程就是一条执行路径,一个独立的执行单元。
         * 什么是多线程?多线程就是用来提高程序效率的
         * 
         * 
         * 创建线程的几种方式 1、使用继承Thread类的方式 2、使用实现runable接口的方式 3、使用匿名内部类方式
         * 4、实现callable接口的方式 5、使用线程池的方式
         */
        public static void main(String[] args) {
            
            CreateThreadDemo02 t1 = new CreateThreadDemo02();
            Thread thread = new Thread(t1);
            thread.start();
            for (int i = 0; i < 30; i++) {
                System.out.println("主线程i:" + i);
            }
            
        }
    
    }
    
    class CreateThreadDemo02 implements Runnable {
    
        public void run() {
            for (int i = 0; i < 30; i++) {
                System.out.println("子线程run,i:" + i);
            }
        }
    }

    方式三:匿名内部类

    package ThreadDemo;
    
    public class ThreadDemo03 {
    
        public static void main(String[] args) {
            
            Thread t1 = new Thread(new Runnable(){
                
                public void run(){
                    for (int i = 0; i < 30; i++) {
                        System.out.println("子线程,i:" + i);
                    }
                }
            });
            
            t1.start();
            for (int i = 0; i < 30; i++) {
                System.out.println("主线程i:" + i);
            }
            
        }
    
    }

    方式四:实现Callable接口

    你还有很多未完成的梦,你有什么理由停下脚步
  • 相关阅读:
    浅谈最长上升子序列(LIS)
    浅谈树链剖分
    数字计数
    windy数
    骑士(树形dp)
    旅游规划
    皇宫看守
    k8s安装报错
    linux文件夹存储潜规则
    搭建覆盖率测试环境
  • 原文地址:https://www.cnblogs.com/quanziheng/p/13411889.html
Copyright © 2011-2022 走看看