(1)继承Thread类,重写run函数
创建:
class xx extends Thread{
public void run(){
Thread.sleep(1000) //线程休眠1000毫秒,sleep使线程进入Block状态,并释放资源
}}
开启线程:
对象.start() //启动线程,run函数运行
(2)实现Runnable接口,重写run函数
开启线程:
Thread t = new Thread(对象) //创建线程对象
t.start()
(3)实现Callable接口,重写call函数
Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务。
Callable和Runnable有几点不同:
①Callable规定的方法是call(),而Runnable规定的方法是run().
②Callable的任务执行后可返回值,而Runnable的任务是不能返回值的
③call()方法可抛出异常,而run()方法是不能抛出异常的。
④运行Callable任务可拿到一个Future对象,Future表示异步计算的结果。它提供了检查计算是否完成的方法,以等
待计算的完成,并检索计算的结果.通过Future对象可了解任务执行情况,可取消任务的执行,还可获取任务执行的结果
JAVA实现线程的三种方法
2019-10-14 14:02java开发网 JAVA教程
这篇文章介绍了JAVA实现线程的三种方法,有需要的朋友可以参考一下
延伸 · 阅读
- 2019-10-14java json 省市级联实例代码
- 2019-10-14Java字符判断的小例子
- 2019-10-14java final 和instanceof 关键字的区别
- 2019-10-14全面解析Java中的GC与幽灵引用
- 2019-10-14Java反射机制的学习总结
- 2019-10-14windows下java环境变量的设置方法
精彩推荐
- JAVA教程
Spring @Configuration和@Component的区别
今天小编就为大家分享一篇关于Spring @Configuration和@Component的区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...
- JAVA教程
java URL乱码的解决办法
这篇文章介绍了java URL乱码的解决办法,有需要的朋友可以参考一下 ...
- JAVA教程
通过java备份恢复mysql数据库的实现代码
这篇文章主要介绍了如何通过java备份恢复mysql数据库,其实一般情况下通过bat或sh就可以,这里主要是介绍了java的实现思路,喜欢的朋友可以参考下 ...
- JAVA教程
mybatis利用association或collection传递多参数子查询
今天小编就为大家分享一篇关于mybatis利用association或collection传递多参数子查询,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋...
- JAVA教程
Zookeeper连接超时问题与拒绝连接的解决方案
今天小编就为大家分享一篇关于Zookeeper连接超时问题与拒绝连接的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友...
- JAVA教程
java rocketmq--消息的产生(普通消息)
这篇文章主要介绍了java rocketmq--消息的产生(普通消息),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,,需要的朋...
- JAVA教程
基于Ok+Rxjava+retrofit实现断点续传下载
这篇文章主要为大家详细介绍了基于Ok+Rxjava+retrofit实现断点续传下载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...
- JAVA教程
通过代码快速理解Java的三种代理模式
这篇文章主要介绍了通过代码快速理解Java的三种代理模式,代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式,即通过代理对象访问目标对象。...