• java-线程实现方式


    实现方式:

    1,继承Thread类

    public class ThreadTest extends Thread {
    @Override
     public void run() {
     System.out.println(Thread.currentThread().getName());
    }
     public static void main(String[] args) {
        ThreadTest test=new ThreadTest();
         test.start();
    }
    }

    2,实现一个Runable接口

    public class ThreadTest implements Runnable {
     @Override
    public void run() {
    // TODO Auto-generated method stub

    }
    public static void main(String[] args) {
    ThreadTest t1=new ThreadTest();
    Thread thread=new Thread(t1);
    thread.start();
    }

    }

    3,线程池实现方式Executors

    //创建一个可重用固定线程数的线程池
    ExecutorService pool = Executors. newSingleThreadExecutor();
    //创建一个可重用固定线程数的线程池
    ExecutorService pool = Executors.newFixedThreadPool(2);
    //创建一个可重用固定线程数的线程池
    ExecutorService pool = Executors.newCachedThreadPool();

    例如:

    //创建实现了Runnable接口对象
            Thread t1 = new MyThread();
            Thread t2 = new MyThread();
            Thread t3 = new MyThread();
            Thread t4 = new MyThread();
            Thread t5 = new MyThread();
            //将线程放入池中进行执行
            pool.execute(t1);
            pool.execute(t2);
            pool.execute(t3);
            pool.execute(t4);
            pool.execute(t5);
            //关闭线程池
            pool.shutdown();
        }

     4,线程的生命周期

     线程状态:创建new thread,就绪(start),运行(run),阻塞状态,终止

  • 相关阅读:
    linux命令大全
    【转载】nginx的五种负载算法
    nginx服务器安装及配置文件详解
    查看linux系统核数
    利用nginx实现分流
    ntohs, ntohl, htons,htonl的比较和详解
    Nginx反向代理之HTTP 请求头中的 X-Forwarded-For
    javascript中 for in 、for 、forEach 、for of 、Object.keys().
    vue里面路由传参的三种方式
    vue中ref在input中详解
  • 原文地址:https://www.cnblogs.com/liubaihui/p/8652844.html
Copyright © 2020-2023  润新知