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

    说道线程,肯定会想到使用 java.lang.Thread.java这个类

    那么创建线程也主要有2种方式

    第一种方式:

    public class MyThread extends Thread  {
        public void run() {
            System.out.println("这是MyThread线程");
        }
    }

    然后在调用处,执行start方法即可:

    MyThread myThread = new MyThread();
    myThread.start();

    第二种方式实现Runnable接口:

    public class MyRunnable implements Runnable {
        public void run() {
            System.out.println("这是MyThread线程"); 
      }
    }

    同样在执行的地方直接生命这个MyRunnable,再直接丢进线程start即可:

    MyRunnable runBary = new MyRunnable();
    Thread thread = new Thread(runBary);
    thread.start();

    这两种方式都可以用匿名类的方式来实现,但是我并不推荐;

    另外使用Thread本身来实现线程还是用Runnable来做,我推荐后者,因为相对来说会比较方便,直接往线程中一扔即可,如果使用spring的线程执行器也是同样的道理,往执行器中丢入这个runnable即可

    需要注意的是,执行线程的时候可以使用start()方法或者run()方法,虽然使用run会达到同样的效果,

    但是run是在主线程中使用的,也就是使用你当前的方法内线程,而不是另起一个线程,这样就达不到异步的效果,所以务必使用start()

  • 相关阅读:
    tomcat虚拟机配置
    日期时分秒毫秒+3位随机数
    springmvc action访问路径不带项目名
    nginx 配置模板
    AES加密
    spring-mvc里的 <mvc:resources> 及静态资源访问
    MySQL——事务(Transaction)
    mysql索引
    < aop:aspect>与< aop:advisor>的区别
    annotation-driven
  • 原文地址:https://www.cnblogs.com/leechenxiang/p/6401302.html
Copyright © 2011-2022 走看看