public class ThreadTest implements Runnable { ... }
Runnable r = new ThreadTest();
Thread t = new Thread(r);
这种线程创建的方法,算什么意思?
跟 ThreadTest t = new ThreadTest(r); 有啥区别呢?
...全文
16211打赏收藏
Java 线程问题,这种线程创建的方法,算什么意思?
public class ThreadTest implements Runnable { ... } Runnable r = new ThreadTest(); Thread t = new Thread(r); 这种线程创建的方法,算什么意思? 跟 ThreadTest t = new ThreadTest(r); 有啥区别呢?
根据暴露最少原则,Runnable r = new ThreadTest()这里r是Runnable 类型,r引用不会暴露ThreadTest类型中的除实现Runnable意外的信息,如果你 ThreadTest r = new ThreadTest()就会把ThreadTest中的所有信息暴漏,若果你在这里仅仅使用r作为一个Runnable的话,建议使用第一种