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

    1 方式一:创建Thread的子类对象

    1-1 创建一个线程,继承 Thread,重写run方法

    public class MyThread extends Thread{
    
        public MyThread(String name){
            super(name);
        }
    
        @Override
        public void run(){
            for (int i = 0; i < 100; i++) {
                System.out.println(getName()+i);
            }
        }
    }
    

    1-2 测试类

    public class test2 {
        public static void main(String[] args) {
            MyThread t1 = new MyThread("线程1");
    
            for (int i = 0; i < 100; i++) {
                System.out.println("线程2"+i);
            }
            t1.start();
        }
    
    }
    

    2 方式二:实现 Runnable接口

    2-1 编写类,实现Runnable接口

    public class MyThread implements Runnable{
    
        @Override
        public void run(){
            for (int i = 0; i < 100; i++) {
                System.out.println(Thread.currentThread().getName()+i);
            }
        }
    }
    

    测试

    public class test2 {
        public static void main(String[] args) {
            MyThread myThread = new MyThread();
            Thread t1 = new Thread(myThread, "线程1");
            t1.start();
            for (int i = 0; i < 100; i++) {
                System.out.println("helloworld");
            }
        }
    
    }
    

    3 通过线程池创建多线程

    编写类,实现Runnable接口

    public class MyThread implements Runnable{
    
        @Override
        public void run(){
            for (int i = 0; i < 100; i++) {
                System.out.println(Thread.currentThread().getName()+i);
            }
        }
    }
    

    创建线程池

    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    
    public class test2 {
        public static void main(String[] args) {
            ExecutorService executorService = Executors.newFixedThreadPool(3);
            MyThread myThread = new MyThread();
            executorService.submit(myThread);
            executorService.submit(myThread);
            executorService.submit(myThread);
        }
    
    }
    
  • 相关阅读:
    DNS服务器详解
    numpy学习
    test_pandas
    1.爬虫基本介绍
    数据分析介绍及软件使用 01
    3.解析库beautifulsoup
    jQuery UI vs EasyUI
    "file:///" file 协议
    Display:Block
    前端响应式设计中@media等的相关运用
  • 原文地址:https://www.cnblogs.com/hellosiyu/p/12482913.html
Copyright © 2011-2022 走看看