[英]Create object from implement Runnable interface in threading - Java
我是 Java 和线程的新手。
将可运行对象创建为Runnable
和ThreadState
有什么不同:
class ThreadState implements Runnable {
public void run() {
System.out.println("xxxxx");
}
public static void main(String args[]) {
Runnable r1 = new ThreadState();
Thread t1 = new Thread(r1);
t1.start();
}
}
和
class ThreadState implements Runnable {
public void run() {
System.out.println("xxxxx");
}
public static void main(String args[]) {
ThreadState r1 = new ThreadState();
Thread t1 = new Thread(r1);
t1.start();
}
}
谢谢!
在您的代码中, r1
既不是Runnable
也不是ThreadState
。
它只是对该类型对象的引用。
在这两种情况下,通过执行new ThreadState()
您创建了一个ThreadState
实例,它也是Runnable
的一个实例。
因此,您的代码片段是等效的。
public class ThreadState implements Runnable
{
@Override
public final void run()
{
System.out.println( "xxxxx" );
}
public static final void main( String... args )
{
Runnable r1 = new ThreadState();
if( r1 instanceof ThreadState ) System.out.println( "r1 is ThreadState" ); // will be printed
Thread t1 = new Thread( r1 );
t1.start();
}
}
对比
public class ThreadState implements Runnable
{
@Override
public final void run()
{
System.out.println( "xxxxx" );
}
public static final void main( String... args[] )
{
ThreadState r1 = new ThreadState();
if( r1 instanceof Runnable ) System.out.println( "r1 is Runnable" ); // will be printed
Thread t1 = new Thread( r1 );
t1.start();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.