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()
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
相关文章
SVN出现提示org.apache.subversion.javahl.ClientException: Attempt
这篇文章主要介绍了SVN出现提示org.apache.subversion.javahl.ClientException: Attempted to lock an already-locked dir解决方案的相关资料,需要的朋友可以参考下2016-12-12关于pom.xml中maven无法下载springcloud包问题
小编遇到这样一个问题spring-cloud-starter-feign,spring-cloud-starter-eureka 一直无法下载,maven仓库中包路径显示为unknown,怎么解决呢?下面小编给大家带来了pom.xml中maven无法下载springcloud包问题,需要的朋友可以参考下2022-08-08
最新评论