博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建线程的几种方式
阅读量:6493 次
发布时间:2019-06-24

本文共 764 字,大约阅读时间需要 2 分钟。

说道线程,肯定会想到使用 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()

 

转载地址:http://rqkyo.baihongyu.com/

你可能感兴趣的文章
JQuery中serialize()、serializeArray()和param()的使用方法
查看>>
poj2236 (并查集)
查看>>
vue项目,打包后报错以及空白问题
查看>>
IDEA Error:java: Compilation failed: internal java compiler error 解决方案
查看>>
06. Web大前端时代之:HTML5+CSS3入门系列~HTML5 画布
查看>>
Ios还是安卓的判断
查看>>
南阳722--数独(Dfs)
查看>>
杭电1702--ACboy needs your help again!
查看>>
springMVC多图片压缩上传的实现
查看>>
python 环境搭建
查看>>
天神下凡
查看>>
struts2中ActionContext与ServletActinContext
查看>>
究竟mutable有什么作用
查看>>
Install Django
查看>>
ThreadDump分析笔记(一) 解读堆栈
查看>>
leetcode-747-Largest Number At Least Twice of Others(求vector的最大值和次大值)
查看>>
同步虚拟机与本机的时间
查看>>
JS构造函数
查看>>
mui-H5下载图片到本地
查看>>
Python_基础(数据类型)
查看>>