大家好。 这次编辑介绍的是Runnable式
启动线程以完成任务时,通常使用java.lang.Runnable接口定义任务内容,然后使用java.lang.Thread类启动线程。 代码如下所示。
编写Runnable接口的实现类,重写run方法并设置线程任务*/
publicclassrunnableimplimplementsrunnable {
公共语音运行(}
system.out.println (thread.current thread ().getName ) '线程Run );
}
}
主方法
通过实现Runnable接口实现多线程*
公共类demo 01 runnable {
publicstaticvoidmain (string [ ] args ) {
创建Runnable接口的实现类对象
runnableimplrun=newrunnableimpl (;
创建Thread类对象,并构建传递方法中Runnable接口的类
threadt=newthread(run;
调用start方法打开多线程,执行run方法
t.start (;
//简化代码,使用匿名内部类实现多线程程序
Runnable e=new Runnable
公共语音运行(}
system.out.println (thread.current thread ().getName ) '线程Run );
}
(;
newthread(e ).start );
//继续简化代码
新标题(新运行) )。
公共语音运行(}
system.out.println (thread.current thread ().getName ) '线程Run );
}
().start );
}
}
在上面的代码中,关于如何使用Runnable匿名内部类,实际上有很多不需要的代码。 这些代码可以省略。
Thread类需要Runnable接口作为参数。 在抽象run方法时,可以指定线程任务内容的核心。 指定run方法需要Runnable接口的实现类。 为了省去定义RunnableImpl实现类的麻烦,必须使用匿名的内部类。 然后,必须再次写完抽象run方法、方法名称、方法参数、方法返回值,并且不能写错。 其实方法主体很重要。
我们可以使用编程思想来解决启动上面线程时的代码冗馀问题。 上面的代码中的主要问题是,将run方法中的代码传递给Thread类以了解它(传递代码——是真正的目的)。
可以使用Lambda表达式来实现此实现并简化代码。
public class Demo02Lambda {
publicstaticvoidmain (string args [ ] ) {
用Runnable公式实现多线程
new Thread ()-{
system.out.println (thread.current thread ().getName ) '新建线程');
}
. start (;
}
}
对于Runnable表达式,主要采用一种函数式编程来实现,因为它会遇到主要问题,然后解决问题,消除不必要的代码,所以比小编之间描述的编写多线程的几种方法简单。 创建多线程的第一种方法,thread类,它使用前面小编提到的匿名内部等方法创建多线程Java;使用匿名内部类方法创建实现多线程的Java。 其中一些方法可能偏向于面向对象的方法。 寻找可以处理问题并解决该问题的方法,然后调用该对象。 编辑就到此为止。 希望这篇文章对大家有帮助。 我们也欢迎大家的补充和纠错。
照片来自网络。 如有侵权,请联系作者删除