java 创建线程的三种方法_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()
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!
java 创建线程的三种方法_java 创建线程的几种方式相关推荐
- java 集合遍有几种方法_Java 集合遍历的几种方法
以下实例演示了如何遍历从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型的集合,以下我们分别使用了普通for,增强型的 for ,iterator 等方式来遍历集合: ...
- Spring 中获取 request 的几种方法,及其线程安全性分析
概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等 ...
- 四种方法使Map线程安全
四种方法使Map线程安全 如果需要使 Map 线程安全,大致有这么四种方法: 1.使用 synchronized 关键字,这也是最原始的方法.代码如下 synchronized(anObject) { ...
- 面试题:将字符串反转的8种方法,你能想到几种?
面试中,经常会遇到这样的问题,给定字符串"abc123",你能够想到几种方式将该字符串进行反转,得到"321cba"? 本文就带大家展示几种常见的字符串反转的方 ...
- php去除头尾空格,php去除头尾空格的2种方法,php头尾空格2种_PHP教程
php去除头尾空格的2种方法,php头尾空格2种 看似很简单的问题,其实还是有点坑的,首先这里 空格转义,不是字符串,直接用trim()是去不掉. 1,用preg_replace替换复制代码 代码如下 ...
- JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程
启动一个线程 在一个方法中启动一个线程,有两种方法 第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法) 第二种是,现在方法中new一个线程,然后直接调 ...
- java连接MySQL几种方法_Java连接MySQL数据库三种方法
好久没有更新博客了!今天利用周目时学习了一下数据库mysql.介绍一下数据库的三种连接方式! 开发工具:Myeclipse MySQL5.6 MySQL连接驱动:mysql-connector-jav ...
- java中三种方法_Java文件I/O的三种方法
Java文件I/O的三种方法 RandomAccessFile是不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和DataOutput接口之外(Data ...
- java多线程同步的四种方法_java中实现多线程的两种方法
java多线程有几种实现方法,都是什么?同步有几种实java中多线程的实现方法有两种:1.直接继承thread类:2.实现runnable接口:同步的实现方法有五种:1.同步方法:2.同步代码块:3. ...
最新文章
- 2022-2028年中国耐二甲醚橡胶密封材料行业市场全景调研及发展趋势分析报告
- boost::ratio_not_equal相关的测试程序
- tomcat8 进入不了Manager App 界面 403 Access Denied
- 全国计算机等级考试题库二级C操作题100套(第85套)
- Bokeh——交互式可视化库
- 推荐系统--矩阵分解(5)
- 【原创】cocos2d-x3.9蓝牙开发之蓝牙开启
- synchronized、volatile关键字
- python能不能自动写代码_微软最强 Python 自动化工具开源了!不用写一行代码!...
- 推荐一门开源课程“C/C++:从基础语法到优化策略”
- 【零基础】一文读懂CPU(从二极管到超大规模集成电路)
- 达梦disql中“pagesize”的设置
- 20155201李卓雯 20155212江振思 20155313杨瀚《信息安全技术》 实验三 数字证书应用...
- 小米盒子2刷android tv,【二次搬运】小米盒子3S刷Android TV教程
- [杀形态验证]3D准确率达98
- 专访:InMobi全球CEO Naveen Tewari
- 【工具使用】GPU的各项参数说明
- JAva继承编写自行车例子,java – Freemarker中的继承/实例检查
- 程序员如何避免「温水煮码农」
- JMETER进行REST API测试(分步指南)
热门文章
- 前端学习(3325):Mdn说闭包
- React开发(130):ant design学习指南之form中的新城多个表单
- 前端学习(3273):js中this的使用二
- [vue]vue渲染模板时怎么保留模板中的HTML注释呢?
- [css] 举例说明background-repeat的新属性值:round和space的作用是什么?
- 工作260:js判断一个数组是否包含一个指定的值
- 前端学习(2781):底部tabber配置
- 前端学习(2325):angular之添加新组件
- vue-router之路由属性配置说明
- 前端学习(2038)vue之电商管理系统电商系统之优化nprogress加载进度条