JS 与 trick 代码的运用及解析全攻略
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~