实现线程的三种方式

网友投稿 612 2022-10-25

实现线程的三种方式

实现线程的三种方式

第一种:

编写一个类继承java.lang.Thread,重写run方法。在重写的run方法中编写程序,这段程序运行在分支栈中。启动线程。

new一个线程对象。调用对象的start()方法启动线程(启动一个分支线程,在JVM中开辟一个新的栈空间,只要新的栈空间开辟出来,start()方法就结束了。线程就启动成功。启动成功的线程会自动调用run方法,并且run方法在分支栈的栈底。(run和main是平级的)

第二种:(面向接口,用的比较多一点)​

编写一个类,实现java.lang.Runnable接口,实现Run方法new一个可运行对象,然后将可运行对象封装成一个线程对象。​

Thread t = new Thread(new 可运行的类)

启动线程。(调用线程的start()方法)

第三种:(jdk8新特性,效率较低)

实现Callable接口(这种方式实现的线程可以获取线程返回值)创建一个“未来任务类”对象

FutureTask task = new FutureTask(实现的Callable接口类的对象)

创建线程对象,把task传进去。启动线程。(调用线程的start()方法)如何获得返回值(返回值类型是Object,会导致线程阻塞)

task.get()

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:用于管理PHP进程(比如一些消费者程序、定时器)以守护进程启动/关闭的轻量级工具
下一篇:ShoppingMall 是一款电商商城的小项目,主要是对 Android 一些原生控件以及第三方框架的综合应用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~