sta*_*low 4 java multithreading
我知道如果你想要线程,你可以在java中扩展线程或实现runnable到multithread.但为什么你必须实现java的接口线程?什么是可运行的接口的重要性,使java线程工作?Java的界面是否扩展了什么?
Mar*_*ers 10
关于Runnable接口唯一特别之处在于它是Thread构造函数的内容.这只是一个简单的界面.
与大多数接口,问题是,你正在编写一个合同:你同意把你想在运行代码Runnable#run()执行,并Thread同意在另一个线程运行的代码(当您创建和启动Thread它) .
这Thread实际上是"做"多线程(因为它与本机系统交互).实现Runnable就是放置要Thread运行的代码的位置.
实际上,您可以实现Runnable并运行它,而无需在单独的线程中运行:
Runnable someCode = new Runnable() {
public void run() {
System.out.println("I'm a runnable");
}
};
someCode.run();
Run Code Online (Sandbox Code Playgroud)
因此,Runnable它本身与多线程没有任何关系,它只是在对象中封装代码块时扩展的标准接口.